and make it match with what parse_drive does. Even though the 'real' format was pve-volume-id, callers already expected that parse_drive returns a hash with a valid 'file' key (e.g. PVE/API2/Qemu.pm:1147ff).
Signed-off-by: Fabian Ebner <f.eb...@proxmox.com> --- This is the last patch left over from the series refactoring the drive code [0], although not directly related. [0]: https://pve.proxmox.com/pipermail/pve-devel/2020-March/042007.html Changes from v3: * make sure the format describes a hash with a 'file' key as that's what callers expect PVE/QemuServer/Drive.pm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/PVE/QemuServer/Drive.pm b/PVE/QemuServer/Drive.pm index e927abf..d412147 100644 --- a/PVE/QemuServer/Drive.pm +++ b/PVE/QemuServer/Drive.pm @@ -355,9 +355,20 @@ for (my $i = 0; $i < $MAX_VIRTIO_DISKS; $i++) { $drivedesc_hash->{efidisk0} = $efidisk_desc; +my $unused_fmt = { + volume => { alias => 'file' }, + file => { + type => 'string', + format => 'pve-volume-id', + default_key => 1, + format_description => 'volume', + description => "The drive's backing volume.", + }, +}; + our $unuseddesc = { optional => 1, - type => 'string', format => 'pve-volume-id', + type => 'string', format => $unused_fmt, description => "Reference to unused volumes. This is used internally, and should not be modified manually.", }; @@ -418,7 +429,7 @@ sub parse_drive { return undef; } - my $desc = $key =~ /^unused\d+$/ ? $alldrive_fmt + my $desc = $key =~ /^unused\d+$/ ? $unuseddesc->{format} : $drivedesc_hash->{$key}->{format}; if (!$desc) { warn "invalid drive key: $key\n"; -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel