diff --git a/libvirt-qemu-fix-qemu-command-for-pci-hostdevs-and-ramfb-off.patch b/libvirt-qemu-fix-qemu-command-for-pci-hostdevs-and-ramfb-off.patch new file mode 100644 index 0000000..1a8c59f --- /dev/null +++ b/libvirt-qemu-fix-qemu-command-for-pci-hostdevs-and-ramfb-off.patch @@ -0,0 +1,84 @@ +From 36089ebf38b3ffa68af41c7bb0b5d3d49c0c9b14 Mon Sep 17 00:00:00 2001 +Message-ID: <36089ebf38b3ffa68af41c7bb0b5d3d49c0c9b14.1716796433.git.jdenemar@redhat.com> +From: Jonathon Jongsma +Date: Thu, 16 May 2024 16:46:04 -0500 +Subject: [PATCH] qemu: fix qemu command for pci hostdevs and ramfb='off' + +There was no test for this and we mistakenly used 'B' rather than 'T' +when constructing the json value for this parameter. Thus, a value of +'off' was VIR_TRISTATE_SWITCH_OFF=2, which was translated to a boolean +value of 'true'. + +Signed-off-by: Jonathon Jongsma +Reviewed-by: Peter Krempa +(cherry picked from commit 7c8e606b64c73ca56d7134cb16d01257f39c53ef) + +https://issues.redhat.com/browse/RHEL-28808 + +Signed-off-by: Jiri Denemark +--- + src/qemu/qemu_command.c | 2 +- + .../hostdev-pci-display-ramfb.x86_64-latest.args | 1 + + .../hostdev-pci-display-ramfb.x86_64-latest.xml | 6 ++++++ + tests/qemuxmlconfdata/hostdev-pci-display-ramfb.xml | 5 +++++ + 4 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c +index 8d4442c360..d614884fa4 100644 +--- a/src/qemu/qemu_command.c ++++ b/src/qemu/qemu_command.c +@@ -4777,7 +4777,7 @@ qemuBuildPCIHostdevDevProps(const virDomainDef *def, + "p:bootindex", dev->info->effectiveBootIndex, + "S:failover_pair_id", failover_pair_id, + "S:display", qemuOnOffAuto(pcisrc->display), +- "B:ramfb", pcisrc->ramfb, ++ "T:ramfb", pcisrc->ramfb, + NULL) < 0) + return NULL; + +diff --git a/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.args b/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.args +index 6a3bfbe6fb..e6e538ef1c 100644 +--- a/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.args ++++ b/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.args +@@ -29,5 +29,6 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \ + -audiodev '{"id":"audio1","driver":"none"}' \ + -vnc 127.0.0.1:0,audiodev=audio1 \ + -device '{"driver":"vfio-pci-nohotplug","host":"0000:06:12.5","id":"hostdev0","display":"on","ramfb":true,"bus":"pci.0","addr":"0x2"}' \ ++-device '{"driver":"vfio-pci","host":"0000:06:13.6","id":"hostdev1","display":"off","ramfb":false,"bus":"pci.0","addr":"0x3"}' \ + -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ + -msg timestamp=on +diff --git a/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.xml b/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.xml +index 16e8a1dee2..18b9bfb5bf 100644 +--- a/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.xml ++++ b/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.x86_64-latest.xml +@@ -39,6 +39,12 @@ + +
+ ++ ++ ++
++ ++
++ + + + +diff --git a/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.xml b/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.xml +index 39c84da7e1..d263342b1d 100644 +--- a/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.xml ++++ b/tests/qemuxmlconfdata/hostdev-pci-display-ramfb.xml +@@ -25,6 +25,11 @@ +
+ + ++ ++ ++
++ ++ + +-- +2.45.1 diff --git a/libvirt.spec b/libvirt.spec index b5d4c83..eda55e6 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -277,7 +277,7 @@ Summary: Library providing a simple virtualization API Name: libvirt Version: 10.3.0 -Release: 1%{?dist}%{?extra_release} +Release: 2%{?dist}%{?extra_release} License: GPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OFL-1.1 URL: https://libvirt.org/ @@ -289,6 +289,7 @@ Source1: symlinks Patch1: libvirt-vsh-Don-t-init-history-in-cmdComplete.patch Patch2: libvirt-tests-fix-hang-in-virshtest-read-big-pipe-case.patch +Patch3: libvirt-qemu-fix-qemu-command-for-pci-hostdevs-and-ramfb-off.patch Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-config-network = %{version}-%{release} @@ -2608,6 +2609,9 @@ exit 0 %endif %changelog +* Mon May 27 2024 Jiri Denemark - 10.3.0-2 +- qemu: fix qemu command for pci hostdevs and ramfb='off' (RHEL-28808) + * Thu May 9 2024 Jiri Denemark - 10.3.0-1 - Rebased to libvirt-10.3.0 (RHEL-29642) - The rebase also fixes the following bugs: