[pve-devel] [PATCH qemu-server 05/22] restore: parse drive with additional properties
Fiona Ebner
f.ebner at proxmox.com
Mon Jun 16 10:51:32 CEST 2025
Am 13.06.25 um 11:30 schrieb Fabian Grünbichler:
> On June 12, 2025 4:02 pm, Fiona Ebner wrote:
>> For backwards-compat, to allow dropping some drive properties that are
>> long gone from QEMU.
>>
>> Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
>> ---
>> PVE/QemuServer.pm | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
>> index 58a5cfa8..5408ba8a 100644
>> --- a/PVE/QemuServer.pm
>> +++ b/PVE/QemuServer.pm
>> @@ -6818,7 +6818,7 @@ sub restore_update_config_line {
>> } elsif ($line =~ m/^((ide|scsi|virtio|sata|efidisk|tpmstate)\d+):\s*(\S+)\s*$/) {
>> my $virtdev = $1;
>> my $value = $3;
>> - my $di = parse_drive($virtdev, $value);
>> + my $di = parse_drive($virtdev, $value, { 'additional-properties' => 1 });
>
> there's another call to parse_drive on the raw config line in
> `parse_backup_hints` - granted, that is only for cloudinit drives, but
> might still make sense to set it there as well in case that call site
> does more in the future?
Good catch!
> setting this here might also have side-effects when restoring backups
> made on newer PVE systems on older ones (which is never guaranteed to
> work, of course), right?
Yes.
> should we make it more selective, e.g. by
> passing a list of keys that should be skipped? or just mangling the line
> to remove those specific keys and not allowing *all* additional
> properties? property strings are thankfully rather straight-forward to
> split into properties and recombine ;)
Yeah, that would be nicer. We already have a $skip argument for
print_property_string(). I'll try adding it for parse_property_string()
and use that.
More information about the pve-devel
mailing list