]> xenbits.xensource.com Git - people/dariof/libvirt.git/commitdiff
qemu: Allow hotplug of multiple SCSI devices
authorEric Farman <farman@linux.vnet.ibm.com>
Thu, 8 Aug 2013 11:26:50 +0000 (13:26 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Thu, 8 Aug 2013 12:16:34 +0000 (14:16 +0200)
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 <farman@linux.vnet.ibm.com>
Reviewed-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
src/qemu/qemu_hotplug.c

index 7a6946e57b88b6f3be3a19631eadcd07512d3927..c9748d961e116a2a7075195479e49b702c5b3f51 100644 (file)
@@ -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,