[libvirt] [PATCH] qemu: ignore failure of qemu -M ? on older qemu

Eric Blake eblake at redhat.com
Mon Feb 14 20:02:22 UTC 2011


https://bugzilla.redhat.com/show_bug.cgi?id=676563

Regression introduced in commit 2211518.

* src/qemu/qemu_capabilities.c (qemuCapsProbeMachineTypes): Allow
non-zero exit status.
---
 src/qemu/qemu_capabilities.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index ca7d842..cc5552c 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -171,6 +171,7 @@ qemuCapsProbeMachineTypes(const char *binary,
     char *output;
     int ret = -1;
     virCommandPtr cmd;
+    int status;

     /* Make sure the binary we are about to try exec'ing exists.
      * Technically we could catch the exec() failure, but that's
@@ -186,7 +187,8 @@ qemuCapsProbeMachineTypes(const char *binary,
     virCommandSetOutputBuffer(cmd, &output);
     virCommandClearCaps(cmd);

-    if (virCommandRun(cmd, NULL) < 0)
+    /* Ignore failure from older qemu that did not understand '-M ?'.  */
+    if (virCommandRun(cmd, &status) < 0)
         goto cleanup;

     if (qemuCapsParseMachineTypesStr(output, machines, nmachines) < 0)
-- 
1.7.4




More information about the libvir-list mailing list