There is no need to call qemuDomainHostdevPrivateNew() because
privateData is allocated on creation by virDomainHostdevDefNew().

Signed-off-by: Pavel Hrdina <[email protected]>
---
 tests/qemuxmlconftest.c | 29 +++++++----------------------
 1 file changed, 7 insertions(+), 22 deletions(-)

diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c
index 321c444d77..a04311647e 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;
     }
 }
 
@@ -416,6 +401,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:
@@ -479,8 +466,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

Reply via email to