From c3bf7f5e620c6fe839df96e763b9aac2b110a369 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 18 Nov 2021 09:23:09 +0100 Subject: [PATCH] qemuBuildHostdevMediatedDevProps: Format 'ramfb' only when enabled MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Before commit 73c352ab8c97d3 which converted the hostdev commandline formatter to JSON the 'ramfb' property was formatted only if it was enabled. The main reason for that is that enabling 'ramfb' switches the device model to 'vfio-pci-nohotplug' which actually has the property, while 'vfio-pci' (used when 'ramfb' is disabled or absent) doesn't have it. Restore the logic to format 'ramfb' only when it's enabled and add a comment that it's deliberate. Fixes: 73c352ab8c97d3 Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2024435 Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_command.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 623e3a20a9..3108bdd581 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5331,6 +5331,8 @@ qemuBuildHostdevMediatedDevProps(const virDomainDef *def, g_autoptr(virJSONValue) props = NULL; virDomainHostdevSubsysMediatedDev *mdevsrc = &dev->source.subsys.u.mdev; g_autofree char *mdevPath = NULL; + /* 'ramfb' property must be omitted unless it's to be enabled */ + bool ramfb = mdevsrc->ramfb == VIR_TRISTATE_SWITCH_ON; mdevPath = virMediatedDeviceGetSysfsPath(mdevsrc->uuidstr); @@ -5339,7 +5341,7 @@ qemuBuildHostdevMediatedDevProps(const virDomainDef *def, "s:id", dev->info->alias, "s:sysfsdev", mdevPath, "S:display", qemuOnOffAuto(mdevsrc->display), - "T:ramfb", mdevsrc->ramfb, + "B:ramfb", ramfb, "p:bootindex", dev->info->bootIndex, NULL) < 0) return NULL; -- 2.47.2