File 696239ba-qemu-fix-query-cpus-fast.patch of Package libvirt.16761

commit 696239ba6f83c65ded476e87d3ba77b424e16fd1
Author: Viktor Mihajlovski <mihajlov@linux.ibm.com>
Date:   Fri Mar 1 11:29:51 2019 +0100

    qemu: Fix query-cpus-fast target architecture detection
    
    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>

Index: libvirt-5.1.0/src/qemu/qemu_monitor_json.c
===================================================================
--- libvirt-5.1.0.orig/src/qemu/qemu_monitor_json.c
+++ libvirt-5.1.0/src/qemu/qemu_monitor_json.c
@@ -1772,7 +1772,7 @@ qemuMonitorJSONExtractCPUInfo(virJSONVal
             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);
     }
openSUSE Build Service is sponsored by