[pve-devel] [PATCH container v2] fix regression breaking container restore from PBS

Filip Schauer f.schauer at proxmox.com
Mon Nov 17 14:52:04 CET 2025


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 at 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





More information about the pve-devel mailing list