[libvirt] [PATCH] qemu: Fix query-cpus-fast target architecture detection

Michal Privoznik mprivozn at redhat.com
Thu Mar 7 15:57:53 UTC 2019


On 3/1/19 11:29 AM, Boris Fiuczynski wrote:
> From: Viktor Mihajlovski <mihajlov at linux.ibm.com>
> 
> 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 at linux.ibm.com>
> Reviewed-by: Bjoern Walk <bwalk at linux.ibm.com>
> Reviewed-by: Boris Fiuczynski <fiuczy at linux.ibm.com>
> ---
>   src/qemu/qemu_monitor_json.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
> index cf474eb6c8..0236323a51 100644
> --- a/src/qemu/qemu_monitor_json.c
> +++ b/src/qemu/qemu_monitor_json.c
> @@ -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);
>       }
>   
> 

ACKed and pushed.

Michal




More information about the libvir-list mailing list