From: Michal Privoznik Date: Tue, 25 Jan 2022 10:05:21 +0000 (+0100) Subject: qemuDomainDetachDeviceLive: Handle hostevs with unassigned type of address X-Git-Tag: v8.1.0-rc1~268 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7251307199a03d51973c8eea192a6e704991d380;p=thirdparty%2Flibvirt.git qemuDomainDetachDeviceLive: Handle hostevs with unassigned type of address A can have
which means libvirt manages the device detach from/reattach to the host but the device is never exposed to the guest. This means that we have to take a shortcut during hotunplug (e.g. never ask QEMU on the monitor to detach the device, or never wait for DEVICE_DELETED event). Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index c0c3a8ec9f..409f492ec7 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -6219,6 +6219,10 @@ qemuDomainDetachDeviceLive(virDomainObj *vm, info->addr.pci.slot, info->addr.pci.function); return -1; } + } else if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_UNASSIGNED) { + /* Unassigned devices are not exposed to QEMU, so remove the device + * explicitly, just like if we received DEVICE_DELETED event.*/ + return qemuDomainRemoveDevice(driver, vm, &detach); } /*