From nobody Sat Apr 20 08:17:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1531138164526306.92737576014054; Mon, 9 Jul 2018 05:09:24 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0ABDB30820F5; Mon, 9 Jul 2018 12:09:23 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B31BE600C9; Mon, 9 Jul 2018 12:09:22 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 383DF1800FD9; Mon, 9 Jul 2018 12:09:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w69C9JRU018331 for ; Mon, 9 Jul 2018 08:09:19 -0400 Received: by smtp.corp.redhat.com (Postfix) id BCF5C76EA; Mon, 9 Jul 2018 12:09:19 +0000 (UTC) Received: from angien.brq.redhat.com (unknown [10.43.2.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id 623D976CC for ; Mon, 9 Jul 2018 12:09:19 +0000 (UTC) From: Peter Krempa To: libvir-list@redhat.com Date: Mon, 9 Jul 2018 14:17:07 +0200 Message-Id: <5e96b896630e3aa1baee5c91b3e6d6b9253aeafa.1531138595.git.pkrempa@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 1/2] qemu: monitor: Remove qemuMonitorJSONExtractCPUArchInfo wrapper X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Mon, 09 Jul 2018 12:09:23 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The wraper is quite pointless and also the 'arch' field may depend on whether query-cpus-fast is used. Signed-off-by: Peter Krempa Reviewed-by: Daniel P. Berrang=C3=A9 --- src/qemu/qemu_monitor_json.c | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 3e90279b71..fc5cec42dd 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -1580,27 +1580,6 @@ qemuMonitorJSONExtractCPUS390Info(virJSONValuePtr js= oncpu, } -/** - * qemuMonitorJSONExtractCPUArchInfo: - * @jsoncpu: pointer to a single JSON cpu entry - * @cpu: pointer to a single cpu entry - * - * Extracts architecure specific virtual CPU data for a single - * CPU from the QAPI response using an architecture specific - * function. - * - */ -static void -qemuMonitorJSONExtractCPUArchInfo(virJSONValuePtr jsoncpu, - struct qemuMonitorQueryCpusEntry *cpu) -{ - const char *arch =3D virJSONValueObjectGetString(jsoncpu, "arch"); - - if (STREQ_NULLABLE(arch, "s390")) - qemuMonitorJSONExtractCPUS390Info(jsoncpu, cpu); -} - - /** * qemuMonitorJSONExtractCPUInfo: * @data: JSON response data @@ -1652,6 +1631,7 @@ qemuMonitorJSONExtractCPUInfo(virJSONValuePtr data, size_t *nentries, bool fast) { + const char *arch =3D NULL; struct qemuMonitorQueryCpusEntry *cpus =3D NULL; int ret =3D -1; size_t i; @@ -1679,10 +1659,12 @@ qemuMonitorJSONExtractCPUInfo(virJSONValuePtr data, * The return data of query-cpus-fast has different field names */ if (fast) { + arch =3D virJSONValueObjectGetString(entry, "arch"); ignore_value(virJSONValueObjectGetNumberInt(entry, "cpu-index"= , &cpuid)); ignore_value(virJSONValueObjectGetNumberInt(entry, "thread-id"= , &thread)); qom_path =3D virJSONValueObjectGetString(entry, "qom-path"); } else { + arch =3D virJSONValueObjectGetString(entry, "arch"); ignore_value(virJSONValueObjectGetNumberInt(entry, "CPU", &cpu= id)); ignore_value(virJSONValueObjectGetNumberInt(entry, "thread_id"= , &thread)); ignore_value(virJSONValueObjectGetBoolean(entry, "halted", &ha= lted)); @@ -1696,7 +1678,8 @@ qemuMonitorJSONExtractCPUInfo(virJSONValuePtr data, goto cleanup; /* process optional architecture-specific data */ - qemuMonitorJSONExtractCPUArchInfo(entry, cpus + i); + if (STREQ_NULLABLE(arch, "s390")) + qemuMonitorJSONExtractCPUS390Info(entry, cpus + i); } VIR_STEAL_PTR(*entries, cpus); --=20 2.16.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sat Apr 20 08:17:09 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1531138174456618.1013672706639; Mon, 9 Jul 2018 05:09:34 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C0D423084034; Mon, 9 Jul 2018 12:09:32 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8D9785D76F; Mon, 9 Jul 2018 12:09:32 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 3D9864A460; Mon, 9 Jul 2018 12:09:32 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w69C9KHF018336 for ; Mon, 9 Jul 2018 08:09:20 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5E8F076EA; Mon, 9 Jul 2018 12:09:20 +0000 (UTC) Received: from angien.brq.redhat.com (unknown [10.43.2.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id 036E376CC for ; Mon, 9 Jul 2018 12:09:19 +0000 (UTC) From: Peter Krempa To: libvir-list@redhat.com Date: Mon, 9 Jul 2018 14:17:08 +0200 Message-Id: <14b570f1d9cd536c49fefaa30e0f0553018d0af0.1531138596.git.pkrempa@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 2/2] qemu: monitor: Use 'target' instead of 'arch' in reply of 'query-cpus-fast' X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Mon, 09 Jul 2018 12:09:33 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" qemu changed the output field name for the architecture from 'arch' to 'target'. Note the change and fix the code so that the arch-specific extraction works. https://bugzilla.redhat.com/show_bug.cgi?id=3D1598829 Signed-off-by: Peter Krempa Reviewed-by: Daniel P. Berrang=C3=A9 --- src/qemu/qemu_monitor_json.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index fc5cec42dd..f9fe9e35ba 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -1624,6 +1624,9 @@ qemuMonitorJSONExtractCPUS390Info(virJSONValuePtr jso= ncpu, * ...}, * {...} * ] + * + * Note that since QEMU 2.13.0 the "arch" output member of the + * "query-cpus-fast" command is replaced by "target". */ static int qemuMonitorJSONExtractCPUInfo(virJSONValuePtr data, @@ -1659,7 +1662,8 @@ qemuMonitorJSONExtractCPUInfo(virJSONValuePtr data, * The return data of query-cpus-fast has different field names */ if (fast) { - arch =3D virJSONValueObjectGetString(entry, "arch"); + if (!(arch =3D virJSONValueObjectGetString(entry, "target"))) + arch =3D virJSONValueObjectGetString(entry, "arch"); ignore_value(virJSONValueObjectGetNumberInt(entry, "cpu-index"= , &cpuid)); ignore_value(virJSONValueObjectGetNumberInt(entry, "thread-id"= , &thread)); qom_path =3D virJSONValueObjectGetString(entry, "qom-path"); --=20 2.16.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list