[libvirt] [PATCH] fix the check of the output of monitor command 'device_add'

Wen Congyang wency at cn.fujitsu.com
Thu Mar 24 08:56:40 UTC 2011


Hotpluging host usb device by text mode will fail, because the monitor
command 'device_add' outputs 'husb: using...' if it succeeds, but we
think the command should not output anything.

Signed-off-by: Wen Congyang <wency at cn.fujitsu.com>

---
 src/qemu/qemu_monitor_text.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
index 91ecc8b..75b2995 100644
--- a/src/qemu/qemu_monitor_text.c
+++ b/src/qemu/qemu_monitor_text.c
@@ -2283,7 +2283,15 @@ int qemuMonitorTextAddDevice(qemuMonitorPtr mon,
         goto cleanup;
     }
 
-    /* If the command succeeds, no output is sent. So
+    /* If the host device is hotpluged first time, qemu will output
+     * husb: using %s file-system with %s if the command succeeds.
+     */
+    if (STRPREFIX(reply, "husb: using")) {
+        ret = 0;
+        goto cleanup;
+    }
+
+    /* Otherwise, if the command succeeds, no output is sent. So
      * any non-empty string shows an error */
     if (STRNEQ(reply, "")) {
         qemuReportError(VIR_ERR_OPERATION_FAILED,
-- 
1.7.1




More information about the libvir-list mailing list