diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 9d74dfb15d..7c3f32d7a6 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -4444,6 +4444,7 @@ static bool qemuDomainDiskControllerIsBusy(virDomainObjPtr vm, { size_t i; virDomainDiskDefPtr disk; + virDomainHostdevDefPtr hostdev; for (i = 0; i < vm->def->ndisks; i++) { disk = vm->def->disks[i]; @@ -4466,6 +4467,15 @@ static bool qemuDomainDiskControllerIsBusy(virDomainObjPtr vm, return true; } + for (i = 0; i < vm->def->nhostdevs; i++) { + hostdev = vm->def->hostdevs[i]; + if (!virHostdevIsSCSIDevice(hostdev) || + detach->type != VIR_DOMAIN_CONTROLLER_TYPE_SCSI) + continue; + if (hostdev->info->addr.drive.controller == detach->idx) + return true; + } + return false; }