We would open IOMMU device for each host device with IOMMUFD backend
leaking FD except for the last one. Since we are adding only single
iommufd object we need to open it only once.
Fixes: 2f0999a161910e3992458902ce90d37f8b8f2642
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
/* Open VFIO device FD */
if (qemuProcessOpenVfioDeviceFd(hostdev) < 0)
return -1;
-
- /* Open IOMMU FD */
- if (qemuProcessOpenIommuFd(vm) < 0)
- return -1;
}
}
+ /* Open IOMMU FD */
+ if (virDomainDefHasPCIHostdevWithIOMMUFD(vm->def) &&
+ qemuProcessOpenIommuFd(vm) < 0) {
+ return -1;
+ }
+
return 0;
}