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 <mprivozn@redhat.com>
This commit is contained in:
Michal Privoznik 2013-11-19 15:42:28 +01:00
parent 8229e33adc
commit 730af8f2cd

View 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))