qemuDomainDiskControllerIsBusy: Optimize checking for SCSI hostdevs

Iterate through hostdevs only when the controller type is
VIR_DOMAIN_CONTROLLER_TYPE_SCSI.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2020-11-13 14:15:19 +01:00
parent 022f4d431b
commit 279ba2d1cc

View File

@ -5373,13 +5373,15 @@ 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;
if (detach->type == VIR_DOMAIN_CONTROLLER_TYPE_SCSI) {
for (i = 0; i < vm->def->nhostdevs; i++) {
hostdev = vm->def->hostdevs[i];
if (!virHostdevIsSCSIDevice(hostdev))
continue;
if (hostdev->info->addr.drive.controller == detach->idx)
return true;
}
}
return false;