On November 17, 2025 1:22 pm, Filip Schauer wrote:
> On 17/11/2025 12:31, 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 <[email protected]>
>> ---
>> src/PVE/API2/LXC.pm | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
>> index cffa17a..f74f19d 100644
>> --- a/src/PVE/API2/LXC.pm
>> +++ b/src/PVE/API2/LXC.pm
>> @@ -544,7 +544,7 @@ __PACKAGE__->register_method({
>> 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 '-' && $storage_cfg->{path});
>> $bwlimit = PVE::Storage::get_bandwidth_limit(
>> 'restore', [keys %used_storages], $bwlimit,
>> );
>
> Unfortunatelly I only just noticed that this seems to break OCI images
> for me.
$storage_cfg is not the section of the storage, but the full storage.cfg
..
but I think this whole section should be revamped..
we should have
PVE::LXC::archive_is_oci_format($storage_cfg, $archive)
and then we can just inline that and have a combined
PVE::LXC::restore_oci_archive($storage_cfg, $archive, $conf)
that combines the two current helpers (extract_oci_config and
merge_oci_conf_into_pct_conf) which are both only called once..
and we end up with
if ($restore && $archive ne '-') {
print "restoring '$archive' now..\n";
} elsif (PVE::LXC::archive_is_oci_format($storage_cfg,
$archive) {
print "Detected OCI archive\n";
PVE::LXC::restore_oci_archive($storage_cfg, $archive,
$conf);
} else {
# Not an OCI image, so restore it as an LXC image
instead
PVE::LXC::Create::restore_archive(
_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel