public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH container v2] fix regression breaking container restore from PBS
@ 2025-11-17 13:52 Filip Schauer
  2025-11-17 15:19 ` Fabian Grünbichler
  2025-11-17 21:27 ` [pve-devel] applied: " Thomas Lamprecht
  0 siblings, 2 replies; 3+ messages in thread
From: Filip Schauer @ 2025-11-17 13:52 UTC (permalink / raw)
  To: pve-devel

This fixes a regression caused by an abs_filesystem_path call introduced
with OCI image support. When trying to restore a container from a
Proxmox Backup Server, this tried to resolve a path on a PBS datastore
as a local file system path. This is fixed by only calling
abs_filesystem_path on path-based storages.

Fixes: 2aed26d320ae ("add support for OCI images as container
templates")

Signed-off-by: Filip Schauer <f.schauer@proxmox.com>
---
 src/PVE/API2/LXC.pm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
index cffa17a..dd4fdc8 100644
--- a/src/PVE/API2/LXC.pm
+++ b/src/PVE/API2/LXC.pm
@@ -543,8 +543,12 @@ __PACKAGE__->register_method({
                 eval {
                     my $rootdir = PVE::LXC::mount_all($vmid, $storage_cfg, $conf, 1);
                     my $archivepath = '-';
-                    $archivepath = PVE::Storage::abs_filesystem_path($storage_cfg, $archive)
-                        if ($archive ne '-');
+                    if ($archive ne '-') {
+                        my $archive_sid = (PVE::Storage::parse_volume_id($archive))[0];
+                        my $scfg = PVE::Storage::storage_config($storage_cfg, $archive_sid);
+                        $archivepath = PVE::Storage::abs_filesystem_path($storage_cfg, $archive)
+                            if $scfg->{path};
+                    }
                     $bwlimit = PVE::Storage::get_bandwidth_limit(
                         'restore', [keys %used_storages], $bwlimit,
                     );
-- 
2.47.3



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [pve-devel] [PATCH container v2] fix regression breaking container restore from PBS
  2025-11-17 13:52 [pve-devel] [PATCH container v2] fix regression breaking container restore from PBS Filip Schauer
@ 2025-11-17 15:19 ` Fabian Grünbichler
  2025-11-17 21:27 ` [pve-devel] applied: " Thomas Lamprecht
  1 sibling, 0 replies; 3+ messages in thread
From: Fabian Grünbichler @ 2025-11-17 15:19 UTC (permalink / raw)
  To: Proxmox VE development discussion

Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>

good enough as a stop-gap fix, but those helpers should move to
PVE::LXC::Create and be refactored a bit to avoid the unnecessary
$archivepath variable here..

On November 17, 2025 2:52 pm, Filip Schauer wrote:
> This fixes a regression caused by an abs_filesystem_path call introduced
> with OCI image support. When trying to restore a container from a
> Proxmox Backup Server, this tried to resolve a path on a PBS datastore
> as a local file system path. This is fixed by only calling
> abs_filesystem_path on path-based storages.
> 
> Fixes: 2aed26d320ae ("add support for OCI images as container
> templates")
> 
> Signed-off-by: Filip Schauer <f.schauer@proxmox.com>
> ---
>  src/PVE/API2/LXC.pm | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
> index cffa17a..dd4fdc8 100644
> --- a/src/PVE/API2/LXC.pm
> +++ b/src/PVE/API2/LXC.pm
> @@ -543,8 +543,12 @@ __PACKAGE__->register_method({
>                  eval {
>                      my $rootdir = PVE::LXC::mount_all($vmid, $storage_cfg, $conf, 1);
>                      my $archivepath = '-';
> -                    $archivepath = PVE::Storage::abs_filesystem_path($storage_cfg, $archive)
> -                        if ($archive ne '-');
> +                    if ($archive ne '-') {
> +                        my $archive_sid = (PVE::Storage::parse_volume_id($archive))[0];
> +                        my $scfg = PVE::Storage::storage_config($storage_cfg, $archive_sid);
> +                        $archivepath = PVE::Storage::abs_filesystem_path($storage_cfg, $archive)
> +                            if $scfg->{path};
> +                    }
>                      $bwlimit = PVE::Storage::get_bandwidth_limit(
>                          'restore', [keys %used_storages], $bwlimit,
>                      );
> -- 
> 2.47.3
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [pve-devel] applied: [PATCH container v2] fix regression breaking container restore from PBS
  2025-11-17 13:52 [pve-devel] [PATCH container v2] fix regression breaking container restore from PBS Filip Schauer
  2025-11-17 15:19 ` Fabian Grünbichler
@ 2025-11-17 21:27 ` Thomas Lamprecht
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Lamprecht @ 2025-11-17 21:27 UTC (permalink / raw)
  To: pve-devel, Filip Schauer

On Mon, 17 Nov 2025 14:52:04 +0100, Filip Schauer wrote:
> This fixes a regression caused by an abs_filesystem_path call introduced
> with OCI image support. When trying to restore a container from a
> Proxmox Backup Server, this tried to resolve a path on a PBS datastore
> as a local file system path. This is fixed by only calling
> abs_filesystem_path on path-based storages.
> 
> Fixes: 2aed26d320ae ("add support for OCI images as container
> templates")
> 
> [...]

Applied, thanks!

[1/1] fix regression breaking container restore from PBS
      commit: a33cefb1b98311f2fcdff3d9b349c73166990559


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-11-17 21:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-17 13:52 [pve-devel] [PATCH container v2] fix regression breaking container restore from PBS Filip Schauer
2025-11-17 15:19 ` Fabian Grünbichler
2025-11-17 21:27 ` [pve-devel] applied: " Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal