From: Eric Farman Date: Thu, 8 Aug 2013 11:26:50 +0000 (+0200) Subject: qemu: Allow hotplug of multiple SCSI devices X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=c4eb12067e020b0b30c34b0f8d67943da654761d;p=people%2Fdariof%2Flibvirt.git qemu: Allow hotplug of multiple SCSI devices Hotplugging a single SCSI device works, but adding additional ones result in an error from QEMU: [root@gpok197 ~]# virsh attach-device guest01 blah.xml Device attached successfully [root@gpok197 ~]# virsh attach-device guest01 blah2.xml error: Failed to attach device from blah2.xml error: internal error unable to execute QEMU command 'device_add': Duplicate ID 'hostdev0' for device The hostdev ID that is created is always set to zero, regardless of the contents of the XML. Changing the index in the hotplug case to a negative one so the next available index is used. Signed-off-by: Eric Farman Reviewed-by: Viktor Mihajlovski --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 7a6946e57..c9748d961 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1362,7 +1362,7 @@ qemuDomainAttachHostScsiDevice(virQEMUDriverPtr driver, return -1; } - if (qemuAssignDeviceHostdevAlias(vm->def, hostdev, 0) < 0) + if (qemuAssignDeviceHostdevAlias(vm->def, hostdev, -1) < 0) goto cleanup; if (!(drvstr = qemuBuildSCSIHostdevDrvStr(hostdev, priv->qemuCaps,