[pve-devel] applied: [PATCH qemu-server] fix #4553: nvidia vgpu: reuse smbios uuid for '-uuid' parameter

Wolfgang Bumiller w.bumiller at proxmox.com
Thu Mar 16 09:18:10 CET 2023


applied, thanks

On Mon, Feb 27, 2023 at 04:34:27PM +0100, Dominik Csapak wrote:
> instead of using the mdev uuid. The nvidia driver does not actually care
> that it's the same as the mdev, and in qemu the uuid parameter
> overwrites the smbios1 uuid internally, so we should have been reusing
> that in the first place.
> 
> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> ---
> when i was writing the uuid appending in the first place, i was sure
> that the nvidia driver needed the mdev uuid, but i was wrong
> 
> also i wrongly assumed the '-uuid' parameter does not do anything to the
> guest, but it overwrites the smbios uuid. seems i misread the qemu source
> code then.. (the man/help pages are not very helpful in that regard)
> 
>  PVE/QemuServer.pm | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index 096e7f0d..b5836f7a 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -5851,9 +5851,14 @@ sub vm_start_nolock {
>  	    for my $dev ($d->{pciid}->@*) {
>  		my $info = PVE::QemuServer::PCI::prepare_pci_device($vmid, $dev->{id}, $id, $d->{mdev});
>  
> -		# nvidia grid needs the uuid of the mdev as qemu parameter
> +		# nvidia grid needs the qemu parameter '-uuid' set
> +		# use smbios uuid or mdev uuid as fallback for that
>  		if ($d->{mdev} && !defined($uuid) && $info->{vendor} eq '10de') {
> -		    $uuid = PVE::QemuServer::PCI::generate_mdev_uuid($vmid, $id);
> +		    if (defined($conf->{smbios1})) {
> +			my $smbios_conf = parse_smbios1($conf->{smbios1});
> +			$uuid = $smbios_conf->{uuid} if defined($smbios_conf->{uuid});
> +		    }
> +		    $uuid = PVE::QemuServer::PCI::generate_mdev_uuid($vmid, $id) if !defined($uuid);
>  		}
>  	    }
>  	}
> -- 
> 2.30.2





More information about the pve-devel mailing list