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:
parent
88c1fcd5e7
commit
efdd591dfb
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user