[pve-devel] [PATCH container v2] fix regression breaking container restore from PBS
Fabian Grünbichler
f.gruenbichler at proxmox.com
Mon Nov 17 16:19:17 CET 2025
Reviewed-by: Fabian Grünbichler <f.gruenbichler at 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 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
>
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
>
>
More information about the pve-devel
mailing list