A <hostdev/> can have <address type='unassigned'/> 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 <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
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);
}
/*