[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