From 730af8f2cd7bc0e4c98b97200857909f42ea817f Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Tue, 19 Nov 2013 15:42:28 +0100 Subject: [PATCH] qemuMonitorJSONGetCPUx86Data: Don't fail on ancient qemus 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 --- src/qemu/qemu_monitor_json.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index e716fb3763..ec3b95876d 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -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)) -- GitLab