[libvirt] [PATCH] qemu: Allow hotplug of multiple SCSI devices

Viktor Mihajlovski mihajlov at linux.vnet.ibm.com
Thu Aug 8 11:26:50 UTC 2013


From: Eric Farman <farman at linux.vnet.ibm.com>

Hotplugging a single SCSI device works, but adding additional ones
result in an error from QEMU:

[root at gpok197 ~]# virsh attach-device guest01 blah.xml
Device attached successfully
[root at 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 at linux.vnet.ibm.com>
Reviewed-by: Viktor Mihajlovski <mihajlov at linux.vnet.ibm.com>
---
 src/qemu/qemu_hotplug.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 7a6946e..c9748d9 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,
-- 
1.7.9.5




More information about the libvir-list mailing list