1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2024-12-23 21:34:54 +03:00

qemu: Fix SCSI hotplug on pseries guests

This patch moves some code in the qemuDomainAttachSCSIDisk
function. The check for the existence of a PCI address assigned
to the SCSI controller was moved in order to be executed only
when needed. The PCI address of a controller is not necessary
if QEMU_CAPS_DEVICE is supported.

This fixes issues with the hotplug of SCSI disks on pseries guests.
This commit is contained in:
Vitor de Lima 2013-11-06 14:13:55 -02:00 committed by Laine Stump
parent 88c1fcd5e7
commit efdd591dfb

View File

@ -518,12 +518,6 @@ qemuDomainAttachSCSIDisk(virConnectPtr conn,
and hence the above loop must iterate at least once. */
sa_assert(cont);
if (cont->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("SCSI controller %d was missing its PCI address"), cont->idx);
goto error;
}
if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks+1) < 0)
goto error;
@ -540,6 +534,13 @@ qemuDomainAttachSCSIDisk(virConnectPtr conn,
}
}
} else {
if (cont->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("SCSI controller %d was missing its PCI address"),
cont->idx);
goto error;
}
virDomainDeviceDriveAddress driveAddr;
ret = qemuMonitorAttachDrive(priv->mon,
drivestr,