[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