public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH container] fix regression breaking container restore from PBS
Date: Mon, 17 Nov 2025 14:54:18 +0100	[thread overview]
Message-ID: <1763387388.vfb3i29jdy.astroid@yuna.none> (raw)
In-Reply-To: <22df8127-b195-492d-b313-06443d782a8a@proxmox.com>

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 <f.schauer@proxmox.com>
>> ---
>>   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
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  reply	other threads:[~2025-11-17 13:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-17 11:30 Filip Schauer
2025-11-17 11:58 ` Christian Ebner
2025-11-17 12:22 ` Filip Schauer
2025-11-17 13:54   ` Fabian Grünbichler [this message]
2025-11-17 18:40     ` Thomas Lamprecht
2025-11-18  9:07       ` Fabian Grünbichler
2025-11-17 13:54 ` [pve-devel] superseded: " Filip Schauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1763387388.vfb3i29jdy.astroid@yuna.none \
    --to=f.gruenbichler@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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