On February 24, 2020 1:43 pm, Fabian Ebner wrote: > Signed-off-by: Fabian Ebner <f.eb...@proxmox.com> > --- > PVE/QemuServer/Drive.pm | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/PVE/QemuServer/Drive.pm b/PVE/QemuServer/Drive.pm > index 35ac99d..e922392 100644 > --- a/PVE/QemuServer/Drive.pm > +++ b/PVE/QemuServer/Drive.pm > @@ -378,16 +378,22 @@ sub parse_drive { > if ($key =~ m/^([^\d]+)(\d+)$/) { > $interface = $1; > $index = $2; > + } elsif ($key eq 'vmstate') { > + $interface = 'vmstate'; > } else { > return undef; > } > > - my $desc = $key =~ /^unused\d+$/ ? $alldrive_fmt > - : $drivedesc_hash->{$key}->{format}; > - if (!$desc) { > + my $desc; > + if ($key =~ m/^unused\d+$/ || $key eq 'vmstate') { > + $desc = $alldrive_fmt;
not new, I know, but the actual format for unused and vmstate is a different one (just a string with format 'pve-volume-id'). while everything besides 'file' is optional in $alldrive_fmt, 'file' also allows a path, which is not valid for either vmstate or unused volumes. > + } elsif (defined($drivedesc_hash->{$key})) { > + $desc = $drivedesc_hash->{$key}->{format}; > + } else { > warn "invalid drive key: $key\n"; > return undef; > } > + > my $res = eval { PVE::JSONSchema::parse_property_string($desc, $data) }; > return undef if !$res; > $res->{interface} = $interface; > -- > 2.20.1 > > > _______________________________________________ > pve-devel mailing list > pve-devel@pve.proxmox.com > https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > > _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel