]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuMonitorJSONGetCPUx86Data: Don't fail on ancient qemus
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 19 Nov 2013 14:42:28 +0000 (15:42 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 19 Nov 2013 15:28:16 +0000 (16:28 +0100)
On the domain startup, this function is called to dump some info about
the CPUs. At the beginning of the function we check if we aren't running
older qemu which is not exposing the CPUs via 'qom-list'. However, we
are not checking for even older qemus, which throw 'CommandNotFound'
error.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_monitor_json.c

index e716fb3763b7db7d568982ed80d4f1efd8234119..ec3b95876dd567879116db96902de601a454f079 100644 (file)
@@ -5528,11 +5528,13 @@ qemuMonitorJSONGetCPUx86Data(qemuMonitorPtr mon,
         goto cleanup;
 
     /* check if device exists */
-    if ((data = virJSONValueObjectGet(reply, "error")) &&
-        STREQ_NULLABLE(virJSONValueObjectGetString(data, "class"),
-                       "DeviceNotFound")) {
-        ret = -2;
-        goto cleanup;
+    if ((data = virJSONValueObjectGet(reply, "error"))) {
+        const char *klass = virJSONValueObjectGetString(data, "class");
+        if (STREQ_NULLABLE(klass, "DeviceNotFound") ||
+            STREQ_NULLABLE(klass, "CommandNotFound")) {
+            ret = -2;
+            goto cleanup;
+        }
     }
 
     if (qemuMonitorJSONCheckError(cmd, reply))