Signed-off-by: Hannes Duerr <h.du...@proxmox.com> --- PVE/QemuServer.pm | 12 ++++++++++++ PVE/QemuServer/Drive.pm | 26 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 2cd8948..69be3af 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -1482,6 +1482,18 @@ sub print_drivedevice_full { } $device .= ",wwn=$drive->{wwn}" if $drive->{wwn}; + # only scsi-hd supports passing vendor and product information + if ($devicetype eq 'hd') { + if (my $vendor = $drive->{vendor}) { + $vendor = URI::Escape::uri_unescape($vendor); + $device .= ",vendor=$vendor"; + } + if (my $product = $drive->{product}) { + $product = URI::Escape::uri_unescape($product); + $device .= ",product=$product"; + } + } + } elsif ($drive->{interface} eq 'ide' || $drive->{interface} eq 'sata') { my $maxdev = ($drive->{interface} eq 'sata') ? $PVE::QemuServer::Drive::MAX_SATA_DISKS : 2; my $controller = int($drive->{index} / $maxdev); diff --git a/PVE/QemuServer/Drive.pm b/PVE/QemuServer/Drive.pm index e24ba12..20efc2f 100644 --- a/PVE/QemuServer/Drive.pm +++ b/PVE/QemuServer/Drive.pm @@ -159,6 +159,28 @@ my %iothread_fmt = ( iothread => { optional => 1, }); +my %product_fmt = ( + product => { + type => 'string', + format => 'urlencoded', + format_description => 'product', + maxLength => 40*3, # *3 since it's %xx url enoded + description => "The drive's product name, url-encoded, up to 40 bytes long.", + optional => 1, + }, +); + +my %vendor_fmt = ( + vendor => { + type => 'string', + format => 'urlencoded', + format_description => 'vendor', + maxLength => 40*3, # *3 since it's %xx url enoded + description => "The drive's vendor name, url-encoded, up to 40 bytes long.", + optional => 1, + }, +); + my %model_fmt = ( model => { type => 'string', @@ -281,6 +303,8 @@ my $scsi_fmt = { %scsiblock_fmt, %ssd_fmt, %wwn_fmt, + %vendor_fmt, + %product_fmt, }; my $scsidesc = { optional => 1, @@ -404,6 +428,8 @@ my $alldrive_fmt = { %readonly_fmt, %scsiblock_fmt, %ssd_fmt, + %vendor_fmt, + %product_fmt, %wwn_fmt, %tpmversion_fmt, %efitype_fmt, -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel