- qemu: Introduce QEMU_CAPS_OBJECT_IOMMUFD (RHEL-150353) - qemu: Move IOMMUFD validation to qemu_validate (RHEL-150353) - util: Move openning IOMMU device to viriommufd (RHEL-150353) - qemu_process: Refactor qemuProcessOpenIommuFd (RHEL-150353) - util: Move openning VFIO device to virpci (RHEL-150353) - qemu_process: Refactor qemuProcessOpenVfioDeviceFd (RHEL-150353) - util: Use virPCIDevice as argument in virPCIDeviceGetVfioPath (RHEL-150353) - conf: Introduce virHostdevIsPCIDeviceWithIOMMUFD (RHEL-150353) - conf: Introduce virDomainDefHasPCIHostdevWithIOMMUFD (RHEL-150353) - qemu_domain: Add missing IOMMUFD cleanup (RHEL-150353) - qemu_process: Fix FD leak with multiple host devices using IOMMUFD (RHEL-150353) - qemu_process: Refactor qemuProcessOpenVfioFds (RHEL-150353) - qemuxmlconftest: Refactor host device preparation (RHEL-150353) - qemuxmlconftest: Rename and refactor testSetupHostdevPrivateData (RHEL-150353) - qemuxmlconftest: Set fake FD for IOMMUFD (RHEL-150353) - qemu: Convert IOMMUFD to qemuFDPassDirect (RHEL-150353) - qemu: Convert vfioDeviceFd to qemuFDPassDirect (RHEL-150353) - qemu_command: Don't use host property if IOMMUFD is used (RHEL-150353) - qemu: Save IOMMUFD state into status XML (RHEL-150353) - qemu_hotplug: Remove iommufd object if no longer needed (RHEL-150353) - qemu_command: Extract building IOMMUFD props to function (RHEL-150353) - qemu_hotplug: Add support to hotplug host device with IOMMUFD (RHEL-150353) - conf: Introduce iommufd enum for domaincaps (RHEL-138544) - qemu: Fill iommufd domain capability (RHEL-138544) - tests: properly mock VFIO and IOMMU checks (RHEL-138544) - iommufd: fix FD leak in case of error (RHEL-150353) Resolves: RHEL-138544, RHEL-150353
79 lines
2.9 KiB
Diff
79 lines
2.9 KiB
Diff
From 65c6fc2f31c865cbdd98f9c2edf28727d71486eb Mon Sep 17 00:00:00 2001
|
|
Message-ID: <65c6fc2f31c865cbdd98f9c2edf28727d71486eb.1771423832.git.jdenemar@redhat.com>
|
|
From: Pavel Hrdina <phrdina@redhat.com>
|
|
Date: Sat, 14 Feb 2026 11:48:53 +0100
|
|
Subject: [PATCH] qemuxmlconftest: Rename and refactor
|
|
testSetupHostdevPrivateData
|
|
|
|
There is no need to call qemuDomainHostdevPrivateNew() because
|
|
privateData is allocated on creation by virDomainHostdevDefNew().
|
|
|
|
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
|
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
(cherry picked from commit 15ad45758bcb674924ddb2ebb86a767cf40b990d)
|
|
|
|
Resolves: https://issues.redhat.com/browse/RHEL-150353
|
|
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
|
|
---
|
|
tests/qemuxmlconftest.c | 29 +++++++----------------------
|
|
1 file changed, 7 insertions(+), 22 deletions(-)
|
|
|
|
diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c
|
|
index 7c2dc3697b..8275eacb3e 100644
|
|
--- a/tests/qemuxmlconftest.c
|
|
+++ b/tests/qemuxmlconftest.c
|
|
@@ -352,28 +352,13 @@ fakeNetworkPortGetXMLDesc(virNetworkPortPtr port,
|
|
|
|
|
|
static void
|
|
-testSetupHostdevPrivateData(virDomainDef *def)
|
|
+testQemuPrepareHostdevPCI(virDomainHostdevDef *hostdev)
|
|
{
|
|
- size_t i;
|
|
+ qemuDomainHostdevPrivate *hostdevPriv = QEMU_DOMAIN_HOSTDEV_PRIVATE(hostdev);
|
|
|
|
- for (i = 0; i < def->nhostdevs; i++) {
|
|
- virDomainHostdevDef *hostdev = def->hostdevs[i];
|
|
-
|
|
- if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
|
|
- hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI &&
|
|
- hostdev->source.subsys.u.pci.driver.name == VIR_DEVICE_HOSTDEV_PCI_DRIVER_NAME_VFIO &&
|
|
- hostdev->source.subsys.u.pci.driver.iommufd == VIR_TRISTATE_BOOL_YES) {
|
|
-
|
|
- qemuDomainHostdevPrivate *priv;
|
|
-
|
|
- if (!hostdev->privateData) {
|
|
- hostdev->privateData = qemuDomainHostdevPrivateNew();
|
|
- }
|
|
-
|
|
- priv = QEMU_DOMAIN_HOSTDEV_PRIVATE(hostdev);
|
|
- /* Use a placeholder FD value for tests */
|
|
- priv->vfioDeviceFd = 0;
|
|
- }
|
|
+ if (virHostdevIsPCIDeviceWithIOMMUFD(hostdev)) {
|
|
+ /* Use a placeholder FD value for tests */
|
|
+ hostdevPriv->vfioDeviceFd = 0;
|
|
}
|
|
}
|
|
|
|
@@ -410,6 +395,8 @@ testQemuPrepareHostdev(virDomainObj *vm)
|
|
testQemuPrepareHostdevUSB(hostdev);
|
|
break;
|
|
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI:
|
|
+ testQemuPrepareHostdevPCI(hostdev);
|
|
+ break;
|
|
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI:
|
|
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI_HOST:
|
|
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV:
|
|
@@ -473,8 +460,6 @@ testCompareXMLToArgvCreateArgs(virQEMUDriver *drv,
|
|
if (testQemuPrepareHostBackendChardevOne(NULL, priv->monConfig, vm) < 0)
|
|
return NULL;
|
|
|
|
- testSetupHostdevPrivateData(vm->def);
|
|
-
|
|
for (i = 0; i < vm->def->ndisks; i++) {
|
|
virDomainDiskDef *disk = vm->def->disks[i];
|
|
virStorageSource *src;
|
|
--
|
|
2.53.0
|