[pve-devel] [PATCH qemu-server 05/22] restore: parse drive with additional properties
Fabian Grünbichler
f.gruenbichler at proxmox.com
Fri Jun 13 11:30:02 CEST 2025
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?
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? 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 ;)
> if (defined($di->{backup}) && !$di->{backup}) {
> $res .= "#$line";
> } elsif ($map->{$virtdev}) {
> --
> 2.39.5
>
>
>
> _______________________________________________
> 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