On Thu, Mar 19, 2026 at 17:36:49 +0100, Pavel Hrdina via Devel wrote:
From: Pavel Hrdina <phrdina@redhat.com>
Function virHostdevNeedsVFIO is used only in QEMU to figure out if the host device needs access to /dev/vfio/vfio, for PCI host devices that is true only if libvirt is not using IOMMUFD.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/conf/domain_conf.c | 13 +++++++++++++ src/conf/domain_conf.h | 3 +++ src/hypervisor/virhostdev.c | 2 +- src/libvirt_private.syms | 1 + 4 files changed, 18 insertions(+), 1 deletion(-)
[...]
diff --git a/src/hypervisor/virhostdev.c b/src/hypervisor/virhostdev.c index 19907c76ba..0d5e582c08 100644 --- a/src/hypervisor/virhostdev.c +++ b/src/hypervisor/virhostdev.c @@ -2536,7 +2536,7 @@ virHostdevUpdateActiveNVMeDevices(virHostdevManager *hostdev_mgr,
While it seems for now obvious what's happening in the function I'd suggest adding a comment about why the function, if the device uses iommufd, returns false here.
bool virHostdevNeedsVFIO(const virDomainHostdevDef *hostdev) { - return virHostdevIsPCIDevice(hostdev) || + return virHostdevIsPCIDeviceWithoutIOMMUFD(hostdev) || virHostdevIsMdevDevice(hostdev); }
Reviewed-by: Peter Krempa <pkrempa@redhat.com>