]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Fix query-cpus-fast target architecture detection
authorViktor Mihajlovski <mihajlov@linux.ibm.com>
Fri, 1 Mar 2019 10:29:51 +0000 (11:29 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 7 Mar 2019 15:53:12 +0000 (16:53 +0100)
Since qemu 2.13 reports the target architecture in a property called
'target' additionally to the property 'arch', that has been used in
qemu 2.12 in the response data of 'query-cpus-fast'.
Libvirts monitor code prefers the 'target' property over 'arch'.

At least for s390(x), target is reported as 's390x' while arch is 's390'.
In a later step a comparison is performed against 's390' which fails for
qemu 2.13 and later.

In consequence the architecture specific data for s390 won't be extracted
from the returned data, leading to incorrect values being reported by
virsh domstats --vcpu.

Changing to check explicitly for 's390' and 's390x'.

Signed-off-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
Reviewed-by: Bjoern Walk <bwalk@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
src/qemu/qemu_monitor_json.c

index cf474eb6c84e125cd6761894420d1878f9b3be3d..0236323a5106804eb93be6df07ad074debfd41a6 100644 (file)
@@ -1772,7 +1772,7 @@ qemuMonitorJSONExtractCPUInfo(virJSONValuePtr data,
             goto cleanup;
 
         /* process optional architecture-specific data */
-        if (STREQ_NULLABLE(arch, "s390"))
+        if (STREQ_NULLABLE(arch, "s390") || STREQ_NULLABLE(arch, "s390x"))
             qemuMonitorJSONExtractCPUS390Info(entry, cpus + i);
     }