From nobody Thu Apr 25 19:44:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605895816; cv=none; d=zohomail.com; s=zohoarc; b=dbqY/IiLRZQNmazBrMpbshRnL1ev2dM7QhVetcbK5BdwNQMk2SGgbHh+AVRAxaPeML73YReRvb6DsHInxH1Zu0074zPnsp3CtOihQMu647zi4x92hCnA4RJxX9mKPZ17RXYo3T3auwSPx+Yi6l9LP2M0pfQ/zCMd7xDP+71ISgs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605895816; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=lyfvc1Pa9dXBmcYVBah81f7AdB5njmU9il15WPAZ3tI=; b=ltJN6ADJFMKPmew2IOH18ulSkx2MAAbGeJvgAdjNh5yX3VQJ08JKTKzPPZlWB/t8UgKig2324lAMdNjW4GOXnBYIF11+7XWgRv4yVrm2TczzZyIQ5OOH2qhb1ZoImgvsH+j66cp8YcPp7Uv7dUJlFJEPM/8JxdsYQUKvqHbIH6Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1605895816747219.96632933128728; Fri, 20 Nov 2020 10:10:16 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-74-WgykJokhO_W3cXUcu_VYuw-1; Fri, 20 Nov 2020 13:10:13 -0500 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 43D29801B28; Fri, 20 Nov 2020 18:10:07 +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 2232F1E5; Fri, 20 Nov 2020 18:10:07 +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 D7893180954D; Fri, 20 Nov 2020 18:10:06 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AKIA5Ti010203 for ; Fri, 20 Nov 2020 13:10:05 -0500 Received: by smtp.corp.redhat.com (Postfix) id 24A525D9DB; Fri, 20 Nov 2020 18:10:05 +0000 (UTC) Received: from localhost (unknown [10.36.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id BA67F5D9D0; Fri, 20 Nov 2020 18:10:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605895815; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=lyfvc1Pa9dXBmcYVBah81f7AdB5njmU9il15WPAZ3tI=; b=VdxcVbNtYET1/qEZB6ccXdw1zofr6xAgu/SaBNFyBd0/UOtv5z23xeJ6sAvVG7m3glygl1 aulJNEvyxgYnKl7gtU1BB3ylyr5mGLhNUdiUNxyRaHnSAOFNeLzEZE5WwFbZ3Ql0jdJngo MRmIGXoLUs0eRh40+Ps0ZJHIVDBPSLM= X-MC-Unique: WgykJokhO_W3cXUcu_VYuw-1 From: marcandre.lureau@redhat.com To: libvir-list@redhat.com Subject: [libvirt PATCH 1/9] qemu_agent: rename qemuAgentDiskInfo->qemuAgentDiskAddress Date: Fri, 20 Nov 2020 22:09:40 +0400 Message-Id: <20201120180948.203254-2-marcandre.lureau@redhat.com> In-Reply-To: <20201120180948.203254-1-marcandre.lureau@redhat.com> References: <20201120180948.203254-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau To match the QGA schema name (we are introducing a qemuAgentDiskInfo struct again for different purpose). Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michal Privoznik Tested-by: Han Han --- src/qemu/qemu_agent.c | 10 +++++----- src/qemu/qemu_agent.h | 8 ++++---- src/qemu/qemu_driver.c | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index 230253d404..beb42449ce 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -1816,7 +1816,7 @@ qemuAgentSetTime(qemuAgentPtr agent, } =20 static void -qemuAgentDiskInfoFree(qemuAgentDiskInfoPtr info) +qemuAgentDiskAddressFree(qemuAgentDiskAddressPtr info) { if (!info) return; @@ -1840,7 +1840,7 @@ qemuAgentFSInfoFree(qemuAgentFSInfoPtr info) g_free(info->fstype); =20 for (i =3D 0; i < info->ndisks; i++) - qemuAgentDiskInfoFree(info->disks[i]); + qemuAgentDiskAddressFree(info->disks[i]); g_free(info->disks); =20 g_free(info); @@ -1862,13 +1862,13 @@ qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondis= ks, ndisks =3D virJSONValueArraySize(jsondisks); =20 if (ndisks) - fsinfo->disks =3D g_new0(qemuAgentDiskInfoPtr, ndisks); + fsinfo->disks =3D g_new0(qemuAgentDiskAddressPtr, ndisks); fsinfo->ndisks =3D ndisks; =20 for (i =3D 0; i < fsinfo->ndisks; i++) { virJSONValuePtr jsondisk =3D virJSONValueArrayGet(jsondisks, i); virJSONValuePtr pci; - qemuAgentDiskInfoPtr disk; + qemuAgentDiskAddressPtr disk; const char *val; =20 if (!jsondisk) { @@ -1879,7 +1879,7 @@ qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondisks, return -1; } =20 - fsinfo->disks[i] =3D g_new0(qemuAgentDiskInfo, 1); + fsinfo->disks[i] =3D g_new0(qemuAgentDiskAddress, 1); disk =3D fsinfo->disks[i]; =20 if ((val =3D virJSONValueObjectGetString(jsondisk, "bus-type"))) diff --git a/src/qemu/qemu_agent.h b/src/qemu/qemu_agent.h index 7cbab489ec..185d09aeca 100644 --- a/src/qemu/qemu_agent.h +++ b/src/qemu/qemu_agent.h @@ -67,9 +67,9 @@ typedef enum { QEMU_AGENT_SHUTDOWN_LAST, } qemuAgentShutdownMode; =20 -typedef struct _qemuAgentDiskInfo qemuAgentDiskInfo; -typedef qemuAgentDiskInfo *qemuAgentDiskInfoPtr; -struct _qemuAgentDiskInfo { +typedef struct _qemuAgentDiskAddress qemuAgentDiskAddress; +typedef qemuAgentDiskAddress *qemuAgentDiskAddressPtr; +struct _qemuAgentDiskAddress { char *serial; virPCIDeviceAddress pci_controller; char *bus_type; @@ -88,7 +88,7 @@ struct _qemuAgentFSInfo { long long total_bytes; long long used_bytes; size_t ndisks; - qemuAgentDiskInfoPtr *disks; + qemuAgentDiskAddressPtr *disks; }; void qemuAgentFSInfoFree(qemuAgentFSInfoPtr info); =20 diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index b69be1bedc..a8760f82b1 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -18847,7 +18847,7 @@ qemuAgentFSInfoToPublic(qemuAgentFSInfoPtr agent, ret->ndevAlias =3D agent->ndisks; =20 for (i =3D 0; i < ret->ndevAlias; i++) { - qemuAgentDiskInfoPtr agentdisk =3D agent->disks[i]; + qemuAgentDiskAddressPtr agentdisk =3D agent->disks[i]; virDomainDiskDefPtr diskDef; =20 diskDef =3D virDomainDiskByAddress(vmdef, @@ -19899,7 +19899,7 @@ qemuAgentFSInfoFormatParams(qemuAgentFSInfoPtr *fsi= nfo, return; for (j =3D 0; j < fsinfo[i]->ndisks; j++) { virDomainDiskDefPtr diskdef =3D NULL; - qemuAgentDiskInfoPtr d =3D fsinfo[i]->disks[j]; + qemuAgentDiskAddressPtr d =3D fsinfo[i]->disks[j]; /* match the disk to the target in the vm definition */ diskdef =3D virDomainDiskByAddress(vmdef, &d->pci_controller, --=20 2.29.0 From nobody Thu Apr 25 19:44:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605895870; cv=none; d=zohomail.com; s=zohoarc; b=LJZ7GXcFQWwxIwilCIXyuVWe9WzNc6aB7/0ROOiTLEPQkhYnoEoIVEcrTp710lCCFhboxhxbVWLCEOqSMQNCQqKQtmco/RP+tIIlRamLQQ1H97CS7Xc6NPbpcIBvPTJfws681PLRaY2XsxuGkVr2Xy7uhrb5lISQeNDDA6I4yLI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605895870; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ayYcAoZ/2svhqeER0nGWQJsVB6F1/PDnzE07OSti0fE=; b=CVggu/ZD66hrWt1ZAj7VhDNk42vst2IcJRfpy+mTc+oeLwcGKr5wep4Jcgs+xBoYV0PQYBYsLWjq3kB+bDvup94/l6IuaBeLLWuVEISjtDmormarZpLSHGziGNEtmapEyHmfD1MQ4T6f9aIqsU67Dt9j6cL3onad+SowVg7ZXl0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1605895870255399.18463351222726; Fri, 20 Nov 2020 10:11:10 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-70-_h6bwGD2OHKEIhcowUY3ow-1; Fri, 20 Nov 2020 13:10:19 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A4A39801B2B; Fri, 20 Nov 2020 18:10:12 +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 83B9E6085D; Fri, 20 Nov 2020 18:10:12 +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 4E2664E58F; Fri, 20 Nov 2020 18:10:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AKIAAG4010236 for ; Fri, 20 Nov 2020 13:10:10 -0500 Received: by smtp.corp.redhat.com (Postfix) id 5FD445D9DE; Fri, 20 Nov 2020 18:10:10 +0000 (UTC) Received: from localhost (unknown [10.36.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2615F5D9D7; Fri, 20 Nov 2020 18:10:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605895869; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=ayYcAoZ/2svhqeER0nGWQJsVB6F1/PDnzE07OSti0fE=; b=VED5iQJBI/lTcWi2JeCTa4kmQdlumxoAxgEc2fb3kPxFnQgbMIDZDfFheO5SiXjsgHHxfS SNdbrQQX7E8GJ+Y9SMMn8/TJtszwFtCLd/HhnOglB+UBqx+2DR/vTn3DLvivaXdRs5YoTH cktUepArGkyNQBWCJ0etBpKcye/0rs8= X-MC-Unique: _h6bwGD2OHKEIhcowUY3ow-1 From: marcandre.lureau@redhat.com To: libvir-list@redhat.com Subject: [libvirt PATCH 2/9] qemu_agent: export qemuAgentDiskAddressFree & add g_auto Date: Fri, 20 Nov 2020 22:09:41 +0400 Message-Id: <20201120180948.203254-3-marcandre.lureau@redhat.com> In-Reply-To: <20201120180948.203254-1-marcandre.lureau@redhat.com> References: <20201120180948.203254-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michal Privoznik Tested-by: Han Han --- src/qemu/qemu_agent.c | 2 +- src/qemu/qemu_agent.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index beb42449ce..ba07d6bfdf 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -1815,7 +1815,7 @@ qemuAgentSetTime(qemuAgentPtr agent, return ret; } =20 -static void +void qemuAgentDiskAddressFree(qemuAgentDiskAddressPtr info) { if (!info) diff --git a/src/qemu/qemu_agent.h b/src/qemu/qemu_agent.h index 185d09aeca..62d68b165a 100644 --- a/src/qemu/qemu_agent.h +++ b/src/qemu/qemu_agent.h @@ -78,6 +78,8 @@ struct _qemuAgentDiskAddress { unsigned int unit; char *devnode; }; +void qemuAgentDiskAddressFree(qemuAgentDiskAddressPtr addr); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuAgentDiskAddress, qemuAgentDiskAddressFr= ee); =20 typedef struct _qemuAgentFSInfo qemuAgentFSInfo; typedef qemuAgentFSInfo *qemuAgentFSInfoPtr; --=20 2.29.0 From nobody Thu Apr 25 19:44:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605895835; cv=none; d=zohomail.com; s=zohoarc; b=DZGuD1gRXTABM+J77XawJBdf4IjhQhxX2iWYOpRihssdDtxJTu1hsqhDo2Zrq6bSwZ5iJnNNL0EIaISt9gJG3U5mrtrXuxLMT8s1jMe/RmaxKSbuk9DWbWoOleMlvvV2pKxjsWHg+wrAGbjRTL2dP5dcYQyxmoXb1D59eZeZasI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605895835; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0dP+f+Q1EaoIBhawFPiFNvBz66v6wHxqvkceK59+Ooo=; b=jt9ZO7OtYcBndTY0obv7sRIeuuNjRx+JcVOGyfLXv1olaTz83GN5BGSwch7OB2MHEo0OcN/WsvZNKHCpOOwhFDqb2PKgRIeSwYHpQiPxP3YqgHeKJW080ewaVIGUGgVYPNjOj9sMgrX0ITQ7KSqnKMCcbMkjyugh3I8cYg5d6ow= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1605895835231966.1667044940306; Fri, 20 Nov 2020 10:10:35 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-267-jCK7DdrKO6OZvGlS0CSBUA-1; Fri, 20 Nov 2020 13:10:31 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A1C8D802B42; Fri, 20 Nov 2020 18:10:24 +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 7B78D19726; Fri, 20 Nov 2020 18:10:24 +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 43ADE1809CA0; Fri, 20 Nov 2020 18:10:24 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AKIAMU4010318 for ; Fri, 20 Nov 2020 13:10:22 -0500 Received: by smtp.corp.redhat.com (Postfix) id A677010021B3; Fri, 20 Nov 2020 18:10:22 +0000 (UTC) Received: from localhost (unknown [10.36.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id A26A010016F7; Fri, 20 Nov 2020 18:10:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605895834; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=0dP+f+Q1EaoIBhawFPiFNvBz66v6wHxqvkceK59+Ooo=; b=cDiIH+Tr7xGH6+JoCh5utlwVNi8jFvvYz8Dq6EmfEwQu8MNnG9mdAq+19zkH2TawH1Usm1 Pv4yLdESnS9cG8EQtOscGpBbSpbZzBo2sB7mwLk8Gj2lgjyAoNxiNFhMn9bJ+lA3WE5zov TlaleqBIMM22Mk3Cvy6V63gKXhV1PgU= X-MC-Unique: jCK7DdrKO6OZvGlS0CSBUA-1 From: marcandre.lureau@redhat.com To: libvir-list@redhat.com Subject: [libvirt PATCH 3/9] qemu_agent: factor out qemuAgentGetDiskAddress Date: Fri, 20 Nov 2020 22:09:42 +0400 Message-Id: <20201120180948.203254-4-marcandre.lureau@redhat.com> In-Reply-To: <20201120180948.203254-1-marcandre.lureau@redhat.com> References: <20201120180948.203254-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michal Privoznik Tested-by: Han Han --- src/qemu/qemu_agent.c | 83 ++++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 40 deletions(-) diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index ba07d6bfdf..31f26eedd1 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -1846,6 +1846,47 @@ qemuAgentFSInfoFree(qemuAgentFSInfoPtr info) g_free(info); } =20 + +static qemuAgentDiskAddressPtr +qemuAgentGetDiskAddress(virJSONValuePtr json) +{ + virJSONValuePtr pci; + g_autoptr(qemuAgentDiskAddress) addr =3D NULL; + + addr =3D g_new0(qemuAgentDiskAddress, 1); + addr->bus_type =3D g_strdup(virJSONValueObjectGetString(json, "bus-typ= e")); + addr->serial =3D g_strdup(virJSONValueObjectGetString(json, "serial")); + addr->devnode =3D g_strdup(virJSONValueObjectGetString(json, "dev")); + +#define GET_DISK_ADDR(jsonObject, var, name) \ + do { \ + if (virJSONValueObjectGetNumberUint(jsonObject, name, var) < 0) { \ + virReportError(VIR_ERR_INTERNAL_ERROR, \ + _("'%s' missing"), name); \ + return NULL; \ + } \ + } while (0) + + GET_DISK_ADDR(json, &addr->bus, "bus"); + GET_DISK_ADDR(json, &addr->target, "target"); + GET_DISK_ADDR(json, &addr->unit, "unit"); + + if (!(pci =3D virJSONValueObjectGet(json, "pci-controller"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("'pci-controller' missing")); + return NULL; + } + + GET_DISK_ADDR(pci, &addr->pci_controller.domain, "domain"); + GET_DISK_ADDR(pci, &addr->pci_controller.bus, "bus"); + GET_DISK_ADDR(pci, &addr->pci_controller.slot, "slot"); + GET_DISK_ADDR(pci, &addr->pci_controller.function, "function"); +#undef GET_DISK_ADDR + + return g_steal_pointer(&addr); +} + + static int qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondisks, qemuAgentFSInfoPtr fsinfo) @@ -1867,9 +1908,6 @@ qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondisks, =20 for (i =3D 0; i < fsinfo->ndisks; i++) { virJSONValuePtr jsondisk =3D virJSONValueArrayGet(jsondisks, i); - virJSONValuePtr pci; - qemuAgentDiskAddressPtr disk; - const char *val; =20 if (!jsondisk) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -1879,44 +1917,9 @@ qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondisk= s, return -1; } =20 - fsinfo->disks[i] =3D g_new0(qemuAgentDiskAddress, 1); - disk =3D fsinfo->disks[i]; - - if ((val =3D virJSONValueObjectGetString(jsondisk, "bus-type"))) - disk->bus_type =3D g_strdup(val); - - if ((val =3D virJSONValueObjectGetString(jsondisk, "serial"))) - disk->serial =3D g_strdup(val); - - if ((val =3D virJSONValueObjectGetString(jsondisk, "dev"))) - disk->devnode =3D g_strdup(val); - -#define GET_DISK_ADDR(jsonObject, var, name) \ - do { \ - if (virJSONValueObjectGetNumberUint(jsonObject, name, var) < 0= ) { \ - virReportError(VIR_ERR_INTERNAL_ERROR, \ - _("'%s' missing in guest-get-fsinfo " \ - "'disk' data"), name); \ - return -1; \ - } \ - } while (0) - - GET_DISK_ADDR(jsondisk, &disk->bus, "bus"); - GET_DISK_ADDR(jsondisk, &disk->target, "target"); - GET_DISK_ADDR(jsondisk, &disk->unit, "unit"); - - if (!(pci =3D virJSONValueObjectGet(jsondisk, "pci-controller"))) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("'pci-controller' missing in guest-get-fsinfo= " - "'disk' data")); + fsinfo->disks[i] =3D qemuAgentGetDiskAddress(jsondisk); + if (!fsinfo->disks[i]) return -1; - } - - GET_DISK_ADDR(pci, &disk->pci_controller.domain, "domain"); - GET_DISK_ADDR(pci, &disk->pci_controller.bus, "bus"); - GET_DISK_ADDR(pci, &disk->pci_controller.slot, "slot"); - GET_DISK_ADDR(pci, &disk->pci_controller.function, "function"); -#undef GET_DISK_ADDR } =20 return 0; --=20 2.29.0 From nobody Thu Apr 25 19:44:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605895847; cv=none; d=zohomail.com; s=zohoarc; b=Y/rrP91Hgz5DKZ3xb4xAkoYCePzuTdanyV6zWC3hMOtVFZOGS4QC2AxGyRYbxQMwcgDZYarRUf6bD5KJS279H7853ghvRSUhMAftDzBDEbxM9C6J0gZX7hUfEkgTwVl7XEAigAoDlUZshgU/hh+SR75J8ZX9XXo9vRA3VVTUA2A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605895847; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HknMPJEdwxcA1Fu/wMyxr4JwZXQy16xSE9i1QghURAY=; b=Z9G/jvDEdwFeYSDt9oJqIPLePobvLCD+NPKoddh+CA6bowvsgtx/yqveJVCR8IWEU4zY6F7P/4e84v/HyI/8msIxjsuGs9lu8GTdcace7dSXfwRiSRj332niobRU7n8xl9us+LmIaY+VjL3kwqQYcO4WkBuH9OsJ90eqqV8C2MQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 160589584700844.79463934178068; Fri, 20 Nov 2020 10:10:47 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-581-waTHH2atPmGyic5WAHqluw-1; Fri, 20 Nov 2020 13:10:42 -0500 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 88217802B53; Fri, 20 Nov 2020 18:10:35 +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 64EF4620D7; Fri, 20 Nov 2020 18:10:35 +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 320284E58E; Fri, 20 Nov 2020 18:10:35 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AKIAYT8010425 for ; Fri, 20 Nov 2020 13:10:34 -0500 Received: by smtp.corp.redhat.com (Postfix) id 247C85D6D1; Fri, 20 Nov 2020 18:10:34 +0000 (UTC) Received: from localhost (unknown [10.36.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id C76985D6CF; Fri, 20 Nov 2020 18:10:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605895846; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=HknMPJEdwxcA1Fu/wMyxr4JwZXQy16xSE9i1QghURAY=; b=eesQbMxUOf0alZ0NAw+CjwDR6ZZL46K8YzdutDO4Y/HssduzZ+YQFrtEM/WBdEMgihkZF1 PHi+TqD1YIiUyGLC5UMAfeHFXc5OvUytm9B00AG5lLBYo8E9klpzeurikXgjQuVphF+0nQ FDItUhuqSRgClAKeb7xF3pjuA4dZZcY= X-MC-Unique: waTHH2atPmGyic5WAHqluw-1 From: marcandre.lureau@redhat.com To: libvir-list@redhat.com Subject: [libvirt PATCH 4/9] util: json: add virJSONValueObjectGetStringArray convenience Date: Fri, 20 Nov 2020 22:09:43 +0400 Message-Id: <20201120180948.203254-5-marcandre.lureau@redhat.com> In-Reply-To: <20201120180948.203254-1-marcandre.lureau@redhat.com> References: <20201120180948.203254-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michal Privoznik Tested-by: Han Han --- src/libvirt_private.syms | 1 + src/util/virjson.c | 30 ++++++++++++++++++++++++++++++ src/util/virjson.h | 1 + 3 files changed, 32 insertions(+) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 79a23f34cb..0f8447cfbb 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2408,6 +2408,7 @@ virJSONValueObjectGetNumberUint; virJSONValueObjectGetNumberUlong; virJSONValueObjectGetObject; virJSONValueObjectGetString; +virJSONValueObjectGetStringArray; virJSONValueObjectGetValue; virJSONValueObjectHasKey; virJSONValueObjectIsNull; diff --git a/src/util/virjson.c b/src/util/virjson.c index 3fa9a9ca24..05c4804410 100644 --- a/src/util/virjson.c +++ b/src/util/virjson.c @@ -1463,6 +1463,36 @@ virJSONValueObjectIsNull(virJSONValuePtr object, return virJSONValueIsNull(val); } =20 +char ** +virJSONValueObjectGetStringArray(virJSONValuePtr object, const char *key) +{ + g_auto(GStrv) ret =3D NULL; + virJSONValuePtr data; + size_t n; + size_t i; + + data =3D virJSONValueObjectGetArray(object, key); + if (!data) + return NULL; + + n =3D virJSONValueArraySize(data); + ret =3D g_new0(char *, n + 1); + for (i =3D 0; i < n; i++) { + virJSONValuePtr child =3D virJSONValueArrayGet(data, i); + const char *tmp; + + if (!(tmp =3D virJSONValueGetString(child))) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("%s array element does not contain a string"), + key); + return NULL; + } + + ret[i] =3D g_strdup(tmp); + } + + return g_steal_pointer(&ret); +} =20 /** * virJSONValueObjectForeachKeyValue: diff --git a/src/util/virjson.h b/src/util/virjson.h index 588c977650..4dc7ed1a2d 100644 --- a/src/util/virjson.h +++ b/src/util/virjson.h @@ -117,6 +117,7 @@ virJSONValuePtr virJSONValueObjectStealObject(virJSONVa= luePtr object, const char *key); =20 const char *virJSONValueObjectGetString(virJSONValuePtr object, const char= *key); +char **virJSONValueObjectGetStringArray(virJSONValuePtr object, const char= *key); const char *virJSONValueObjectGetStringOrNumber(virJSONValuePtr object, co= nst char *key); int virJSONValueObjectGetNumberInt(virJSONValuePtr object, const char *key= , int *value); int virJSONValueObjectGetNumberUint(virJSONValuePtr object, const char *ke= y, unsigned int *value); --=20 2.29.0 From nobody Thu Apr 25 19:44:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605895859; cv=none; d=zohomail.com; s=zohoarc; b=CY8cXPt6YMjJ8goTCRw7BR9n2uCIynYkDnMjpPjob4i/M9OJRon+9Bynxo7HdMPzC/9Yewwu79x4MbOcqzGSLzHFdI01OzcY7ewfeWQ7oSWc5Pu88lHqcim1GtI48IsJxgNVg4OtAdPkYyMyEyprMvOaLve81UdxqzeWqiUIwAo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605895859; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UieGdTM1Qq8Ep9xRBE+Qg738z4gTJSsuAPUVQcEc2CY=; b=CrmPI9xZQstjWeaJrd7RDhx9mQCsp3z/pQdWWvoOzbsrF2m5LfLnsop4Os06psOSzVDx9097LytKKn7r3Eya6UNPX632K5sNLhkDXUqNaOv/mMaHDqifMMgx/zMsoT6H9NvXwDPiEbjC1Uym1mG/Mss8bdI5wPLqRztsky2CfWc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1605895859276682.2884248731757; Fri, 20 Nov 2020 10:10:59 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-205-3pye3kqrM--1p0jFERhujw-1; Fri, 20 Nov 2020 13:10:54 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 42919802B5E; Fri, 20 Nov 2020 18:10:48 +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 226105D9DC; Fri, 20 Nov 2020 18:10:48 +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 E2E4C4EBC6; Fri, 20 Nov 2020 18:10:47 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AKIAlpj010516 for ; Fri, 20 Nov 2020 13:10:47 -0500 Received: by smtp.corp.redhat.com (Postfix) id 3E01D12D7E; Fri, 20 Nov 2020 18:10:47 +0000 (UTC) Received: from localhost (unknown [10.36.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6D1866064B; Fri, 20 Nov 2020 18:10:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605895858; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=UieGdTM1Qq8Ep9xRBE+Qg738z4gTJSsuAPUVQcEc2CY=; b=KUzheGg1wjE/pgnNkN7uOpawgI6Go877UvOu3bCgpvU2NZbXN0JdkUSjLrXWz+4qdeCf2I /N3pvsnfxTlKpzQF2xZeHGvdHriLDcfodeBMlS4t/Nzvb6gtoyTmrw+U5b8ymhzMqL2xA4 6ZLAYjE3Zm3Z6/oOHqnn+BW3P4IZ47Y= X-MC-Unique: 3pye3kqrM--1p0jFERhujw-1 From: marcandre.lureau@redhat.com To: libvir-list@redhat.com Subject: [libvirt PATCH 5/9] qemu: use virJSONValueObjectGetStringArray Date: Fri, 20 Nov 2020 22:09:44 +0400 Message-Id: <20201120180948.203254-6-marcandre.lureau@redhat.com> In-Reply-To: <20201120180948.203254-1-marcandre.lureau@redhat.com> References: <20201120180948.203254-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau There might be more potential users around, I haven't looked thoroughly. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michal Privoznik Tested-by: Han Han --- src/qemu/qemu_monitor_json.c | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 723bdb4426..3588a0c426 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -7533,10 +7533,7 @@ qemuMonitorJSONGetStringArray(qemuMonitorPtr mon, co= nst char *qmpCmd, int ret =3D -1; virJSONValuePtr cmd; virJSONValuePtr reply =3D NULL; - virJSONValuePtr data; - char **list =3D NULL; - size_t n =3D 0; - size_t i; + g_auto(GStrv) list =3D NULL; =20 *array =3D NULL; =20 @@ -7554,32 +7551,13 @@ qemuMonitorJSONGetStringArray(qemuMonitorPtr mon, c= onst char *qmpCmd, if (qemuMonitorJSONCheckReply(cmd, reply, VIR_JSON_TYPE_ARRAY) < 0) goto cleanup; =20 - data =3D virJSONValueObjectGetArray(reply, "return"); - n =3D virJSONValueArraySize(data); - - /* null-terminated list */ - list =3D g_new0(char *, n + 1); - - for (i =3D 0; i < n; i++) { - virJSONValuePtr child =3D virJSONValueArrayGet(data, i); - const char *tmp; - - if (!(tmp =3D virJSONValueGetString(child))) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("%s array element does not contain data"), - qmpCmd); - goto cleanup; - } - - list[i] =3D g_strdup(tmp); - } - - ret =3D n; - *array =3D list; - list =3D NULL; + list =3D virJSONValueObjectGetStringArray(reply, "return"); + if (!list) + goto cleanup; + ret =3D g_strv_length(list); + *array =3D g_steal_pointer(&list); =20 cleanup: - g_strfreev(list); virJSONValueFree(cmd); virJSONValueFree(reply); return ret; --=20 2.29.0 From nobody Thu Apr 25 19:44:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605895872; cv=none; d=zohomail.com; s=zohoarc; b=If7pv69zDvNZYl6U51S8VcmvbrugUyiN+3CuLYw3uyQ/DFULACUw3xOkqOCFqZkWpvxoqq0Nj9GZWBdEb9tp594zH5SaN1r9jaHQrOzOy6kEKfCwPbiBVE8t1CcajTb71hPQrQbxToG59wojJdMMSjcrPybfVDz525eQVGpukEY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605895872; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FfMafpB62N/57DQYWf5ozdzxwOFvFjV5qofDokTTz0w=; b=FlJlnS0LhSTvYtEwyyzBdedxdoMCZLsz8GxV56tWLeY9yDJ9lzxSbQ7UeO/y0CfOGkxqgj/fL5HnhtBaKAYEXUSAOFbzDVg871wBg0HsxXrAihNHaQ1EXEFjcXy8wkVnaTlmgokjn/SlumVtjGNvsTwjL1QivH5OAaJT/K/gBsk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1605895872033998.4274636927023; Fri, 20 Nov 2020 10:11:12 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-327-9OaOn3N5On-txtcFz4J06w-1; Fri, 20 Nov 2020 13:11:07 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id F3FB9801B19; Fri, 20 Nov 2020 18:11:00 +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 CE7AB10013C0; Fri, 20 Nov 2020 18:11:00 +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 9AA2A1809C9F; Fri, 20 Nov 2020 18:11:00 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AKIAxqJ010613 for ; Fri, 20 Nov 2020 13:10:59 -0500 Received: by smtp.corp.redhat.com (Postfix) id EB3BA60C5F; Fri, 20 Nov 2020 18:10:59 +0000 (UTC) Received: from localhost (unknown [10.36.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id EDE1960C4D; Fri, 20 Nov 2020 18:10:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605895870; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=FfMafpB62N/57DQYWf5ozdzxwOFvFjV5qofDokTTz0w=; b=KHqx410DKoz8rXe2mk0qycqgCXrNTWe4bAxXqv9eA3K2Pn5idlgZIXA12PxfAQPLOwAEBx hsj+34+XQMCCH9IGz0k/bPTvn5RuRdh6MWVBet3CSv689Ol6EefGk2lXx12VsuWsWKe8+J sIRbkyx/p0a69ivkTw1Xb622BRfIBdc= X-MC-Unique: 9OaOn3N5On-txtcFz4J06w-1 From: marcandre.lureau@redhat.com To: libvir-list@redhat.com Subject: [libvirt PATCH 6/9] qemu_agent: add qemuAgentGetDisks Date: Fri, 20 Nov 2020 22:09:45 +0400 Message-Id: <20201120180948.203254-7-marcandre.lureau@redhat.com> In-Reply-To: <20201120180948.203254-1-marcandre.lureau@redhat.com> References: <20201120180948.203254-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau guest-get-disks is available since QEMU 5.2: https://wiki.qemu.org/ChangeLog/5.2#Guest_agent Note that the test response was manually edited based on a reply on my bare-metal computer. It shows partial results due to pcieport driver not being currently supported by QGA. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michal Privoznik Tested-by: Han Han --- src/qemu/qemu_agent.c | 91 ++++++++++++++++++++++++++++++++++ src/qemu/qemu_agent.h | 15 ++++++ tests/qemuagenttest.c | 111 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 217 insertions(+) diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index 31f26eedd1..8698e5cfaf 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -1827,6 +1827,21 @@ qemuAgentDiskAddressFree(qemuAgentDiskAddressPtr inf= o) g_free(info); } =20 + +void +qemuAgentDiskInfoFree(qemuAgentDiskInfoPtr info) +{ + if (!info) + return; + + g_free(info->name); + g_strfreev(info->dependencies); + qemuAgentDiskAddressFree(info->address); + g_free(info->alias); + g_free(info); +} + + void qemuAgentFSInfoFree(qemuAgentFSInfoPtr info) { @@ -2640,3 +2655,79 @@ qemuAgentSSHRemoveAuthorizedKeys(qemuAgentPtr agent, =20 return qemuAgentCommand(agent, cmd, &reply, agent->timeout); } + + +int qemuAgentGetDisks(qemuAgentPtr agent, + qemuAgentDiskInfoPtr **disks, + bool report_unsupported) +{ + g_autoptr(virJSONValue) cmd =3D NULL; + g_autoptr(virJSONValue) reply =3D NULL; + virJSONValuePtr data =3D NULL; + size_t ndata; + size_t i; + + if (!(cmd =3D qemuAgentMakeCommand("guest-get-disks", NULL))) + return -1; + + if (qemuAgentCommandFull(agent, cmd, &reply, agent->timeout, + report_unsupported) < 0) + return -1; + + if (!(data =3D virJSONValueObjectGetArray(reply, "return"))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("qemu agent didn't return an array of disks")); + return -1; + } + + ndata =3D virJSONValueArraySize(data); + + *disks =3D g_new0(qemuAgentDiskInfoPtr, ndata); + + for (i =3D 0; i < ndata; i++) { + virJSONValuePtr addr; + virJSONValuePtr entry =3D virJSONValueArrayGet(data, i); + qemuAgentDiskInfoPtr disk; + + if (!entry) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("array element missing in guest-get-disks ret= urn " + "value")); + goto error; + } + + disk =3D g_new0(qemuAgentDiskInfo, 1); + (*disks)[i] =3D disk; + + disk->name =3D g_strdup(virJSONValueObjectGetString(entry, "name")= ); + if (!disk->name) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("'name' missing in reply of guest-get-disks")= ); + goto error; + } + + if (virJSONValueObjectGetBoolean(entry, "partition", &disk->partit= ion) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("'partition' missing in reply of guest-get-di= sks")); + goto error; + } + + disk->dependencies =3D virJSONValueObjectGetStringArray(entry, "de= pendencies"); + disk->alias =3D g_strdup(virJSONValueObjectGetString(entry, "alias= ")); + addr =3D virJSONValueObjectGetObject(entry, "address"); + if (addr) { + disk->address =3D qemuAgentGetDiskAddress(addr); + if (!disk->address) + goto error; + } + } + + return ndata; + + error: + for (i =3D 0; i < ndata; i++) { + qemuAgentDiskInfoFree((*disks)[i]); + } + g_free(*disks); + return -1; +} diff --git a/src/qemu/qemu_agent.h b/src/qemu/qemu_agent.h index 62d68b165a..74f1410760 100644 --- a/src/qemu/qemu_agent.h +++ b/src/qemu/qemu_agent.h @@ -81,6 +81,17 @@ struct _qemuAgentDiskAddress { void qemuAgentDiskAddressFree(qemuAgentDiskAddressPtr addr); G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuAgentDiskAddress, qemuAgentDiskAddressFr= ee); =20 +typedef struct _qemuAgentDiskInfo qemuAgentDiskInfo; +typedef qemuAgentDiskInfo *qemuAgentDiskInfoPtr; +struct _qemuAgentDiskInfo { + char *name; + bool partition; + char **dependencies; + qemuAgentDiskAddressPtr address; + char *alias; +}; +void qemuAgentDiskInfoFree(qemuAgentDiskInfoPtr info); + typedef struct _qemuAgentFSInfo qemuAgentFSInfo; typedef qemuAgentFSInfo *qemuAgentFSInfoPtr; struct _qemuAgentFSInfo { @@ -187,3 +198,7 @@ int qemuAgentSSHRemoveAuthorizedKeys(qemuAgentPtr agent, const char *user, const char **keys, size_t nkeys); + +int qemuAgentGetDisks(qemuAgentPtr mon, + qemuAgentDiskInfoPtr **disks, + bool report_unsupported); diff --git a/tests/qemuagenttest.c b/tests/qemuagenttest.c index 47ff92733a..bf295496e1 100644 --- a/tests/qemuagenttest.c +++ b/tests/qemuagenttest.c @@ -1022,6 +1022,116 @@ testQemuAgentGetInterfaces(const void *data) return ret; } =20 + +/* this is a bit of a pathological response on a real hw */ +static const char testQemuAgentGetDisksResponse[] =3D + "{\"return\": " + " [" + " {\"alias\" : \"fedora_localhost--live-home\"," + " \"dependencies\" : " + " [" + " \"/dev/dm-0\"" + " ]," + " \"name\" : \"/dev/dm-3\"," + " \"partition\" : false" + " }," + " {\"address\" : " + " {\"bus\" : 0," + " \"bus-type\" : \"unknown\"," + " \"dev\" : \"/dev/nvme0n1\"," + " \"pci-controller\" : " + " {\"bus\" : -1," + " \"domain\" : -1," + " \"function\" : -1," + " \"slot\" : -1" + " }," + " \"serial\" : \"GIGABYTE GP-ASM2NE6100TTTD_SN202208900567\"," + " \"target\" : 0," + " \"unit\" : 0" + " }," + " \"dependencies\" : []," + " \"name\" : \"/dev/nvme0n1\"," + " \"partition\" : false" + " }" + " ]" + "}"; + +static int +testQemuAgentGetDisks(const void *data) +{ + virDomainXMLOptionPtr xmlopt =3D (virDomainXMLOptionPtr)data; + qemuMonitorTestPtr test =3D qemuMonitorTestNewAgent(xmlopt); + size_t i; + int ret =3D -1; + int disks_count =3D 0; + qemuAgentDiskInfoPtr *disks =3D NULL; + + if (!test) + return -1; + + if (qemuMonitorTestAddAgentSyncResponse(test) < 0) + goto cleanup; + + if (qemuMonitorTestAddItem(test, "guest-get-disks", + testQemuAgentGetDisksResponse) < 0) + goto cleanup; + + if ((disks_count =3D qemuAgentGetDisks(qemuMonitorTestGetAgent(test), + &disks, true)) < 0) + goto cleanup; + + if (disks_count !=3D 2) { + virReportError(VIR_ERR_INTERNAL_ERROR, + "expected 2 disks, got %d", ret); + goto cleanup; + } + + if (STRNEQ(disks[0]->name, "/dev/dm-3") || + STRNEQ(disks[1]->name, "/dev/nvme0n1")) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + "unexpected return values for disks names"); + goto cleanup; + } + + if (STRNEQ(disks[0]->alias, "fedora_localhost--live-home") || + disks[1]->alias !=3D NULL) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + "unexpected return values for disks aliases"); + goto cleanup; + } + + if (STRNEQ(disks[0]->dependencies[0], "/dev/dm-0") || + disks[0]->dependencies[1] !=3D NULL || + disks[1]->dependencies[0] !=3D NULL) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + "unexpected return values for disks dependencies"); + goto cleanup; + } + + if (disks[0]->address !=3D NULL || + disks[1]->address->bus !=3D 0 || + disks[1]->address->target !=3D 0 || + disks[1]->address->unit !=3D 0 || + STRNEQ(disks[1]->address->serial, "GIGABYTE GP-ASM2NE6100TTTD_SN20= 2208900567") || + STRNEQ(disks[1]->address->bus_type, "unknown")) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + "unexpected return values for disks addresses"); + goto cleanup; + } + ret =3D 0; + + cleanup: + qemuMonitorTestFree(test); + if (disks) { + for (i =3D 0; i < disks_count; i++) + qemuAgentDiskInfoFree(disks[i]); + } + VIR_FREE(disks); + + return ret; +} + + static const char testQemuAgentUsersResponse[] =3D "{\"return\": " " [" @@ -1394,6 +1504,7 @@ mymain(void) DO_TEST(OSInfo); DO_TEST(Timezone); DO_TEST(SSHKeys); + DO_TEST(GetDisks); =20 DO_TEST(Timeout); /* Timeout should always be called last */ =20 --=20 2.29.0 From nobody Thu Apr 25 19:44:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605895983; cv=none; d=zohomail.com; s=zohoarc; b=Om0YTv34t76pStp8+HpticKZ6bX1r3DhI3CuKeGbk1EZdtqYwP1zTwOV5lH1B4GVxDk/gsTBF+aJw0OwNrZQANiLHHXxMKodIAu9ztg+nYA6y7b1dI5c6601lkJqu19gb4X3r9udIIqqwpVbWsDg2ZLENKf7FPkTfAM3TtMFfp8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605895983; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=u8Za+2Q3OtDTDxZTY9sceZXshM62D0m+KCOwtrklSgk=; b=GSozkcvkpID6S/IHAU4yKC0mfTin062LGdHSaktWE0yIEGWRBlu+K0oHoPpjMboszEtBI2CGinwdEj/INK6k+ZoHHBOoJSer0Lq1AHiWFvw2gzBRssDi0NJW7Rkky9Uo40NhzEEhCKjZ6Y0Fw2HUWEdUONd3U7NQsuzu1yZVoTo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1605895983525769.479958426588; Fri, 20 Nov 2020 10:13:03 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-464-wUjnJRX2N2OX4FMnQAxFag-1; Fri, 20 Nov 2020 13:11:12 -0500 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 82A061876528; Fri, 20 Nov 2020 18:11:06 +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 5E3A8189A4; Fri, 20 Nov 2020 18:11:06 +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 EBDD21809CA2; Fri, 20 Nov 2020 18:11:05 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AKIB5Ho010646 for ; Fri, 20 Nov 2020 13:11:05 -0500 Received: by smtp.corp.redhat.com (Postfix) id 1C58560C62; Fri, 20 Nov 2020 18:11:05 +0000 (UTC) Received: from localhost (unknown [10.36.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id ED48960C5F; Fri, 20 Nov 2020 18:11:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605895982; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=u8Za+2Q3OtDTDxZTY9sceZXshM62D0m+KCOwtrklSgk=; b=PjTBlbgO8HK7myQjcVbNv4WHahPtVW+NlvM+Fh+3ayt8DVclgHQfAYZAZvkIF7/MoToUjH 7SNlym/w5Xs0YjW7IxEcp2uQoLq+M1WBauhMCDzub+aGe69WfPl6Xs+H+yjQ5gOgypfWvs QJJ8Abxj24f9zRCMk6QBNmFHV5sF3lo= X-MC-Unique: wUjnJRX2N2OX4FMnQAxFag-1 From: marcandre.lureau@redhat.com To: libvir-list@redhat.com Subject: [libvirt PATCH 7/9] domain: add disk informations to virDomainGetGuestInfo Date: Fri, 20 Nov 2020 22:09:46 +0400 Message-Id: <20201120180948.203254-8-marcandre.lureau@redhat.com> In-Reply-To: <20201120180948.203254-1-marcandre.lureau@redhat.com> References: <20201120180948.203254-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michal Privoznik Tested-by: Han Han --- include/libvirt/libvirt-domain.h | 1 + src/libvirt-domain.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-dom= ain.h index d81157ccaf..60fa8c6719 100644 --- a/include/libvirt/libvirt-domain.h +++ b/include/libvirt/libvirt-domain.h @@ -5070,6 +5070,7 @@ typedef enum { VIR_DOMAIN_GUEST_INFO_TIMEZONE =3D (1 << 2), /* return timezone inform= ation */ VIR_DOMAIN_GUEST_INFO_HOSTNAME =3D (1 << 3), /* return hostname inform= ation */ VIR_DOMAIN_GUEST_INFO_FILESYSTEM =3D (1 << 4), /* return filesystem in= formation */ + VIR_DOMAIN_GUEST_INFO_DISKS =3D (1 << 5), /* return disks information = */ } virDomainGuestInfoTypes; =20 int virDomainGetGuestInfo(virDomainPtr domain, diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c index 63d4954e68..c837ecbcc3 100644 --- a/src/libvirt-domain.c +++ b/src/libvirt-domain.c @@ -12341,6 +12341,23 @@ virDomainSetVcpu(virDomainPtr domain, * "fs..disk..serial" - the serial number of the disk * "fs..disk..device" - the device node of the disk * + * VIR_DOMAIN_GUEST_INFO_DISKS: + * Returns information about the disks within the domain. The typed + * parameter keys are in this format: + * + * "disks.count" - the number of disks defined on this domain + * as an unsigned int + * "disks..name" - device node (Linux) or device UNC (Windows) + * "disks..partition" - whether this is a partition or disk + * "disks..dependencies.count" - the number of device dependenci= es + * e.g. for LVs of the LVM this will + * hold the list of PVs, for LUKS encrypted volume th= is will + * contain the disk where the volume is placed. (Linu= x) + * "disks..dependencies..name" - a dependency + * "disks..alias" - the device alias of the disk (e.g. sda) + * "disks..guest_alias" - optional alias assigned to the disk, o= n Linux + * this is a name assigned by device mapper + * * VIR_DOMAIN_GUEST_INFO_HOSTNAME: * Returns information about the hostname of the domain. The typed * parameter keys are in this format: --=20 2.29.0 From nobody Thu Apr 25 19:44:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605895889; cv=none; d=zohomail.com; s=zohoarc; b=U8PL12Ee1g0eglCosZA/55ZAwleBV9F4sEVAIjItsvhIUTW57B4ZWnT9ZL9ssTQcmQ2mtU7VrzEFZB/waIRL9928MGvgtiiNwD2demR14U8BcP/U3YY5rgVsy25rzXfVaL59IEXJK9G2Is63y9Svn5vG+4hk0FFqwNZXa+X2Ua4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605895889; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=TSlaE6vQnrYEoOT92Rt+yldqA7MapRpGbqe5EvXQsVw=; b=PmZz8Peo8ZqVS6t0hQGtq64rUwH45x953168oUxITpIf/Wk2MFRM/0tiFGXjm/Fc3AH0FGDfD03MRUYkqKhFovB2hddAVn3JRB3/WDtxrkt9+rk8o0FNLUsS63Zdl9Rl10GllU3QGIfgPZoGiiOQpJhTHrkU+cL64mN9DHLM35g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1605895889446783.5734636073009; Fri, 20 Nov 2020 10:11:29 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-516-1Q9wAp9wMLeHjA2AU7JzLg-1; Fri, 20 Nov 2020 13:11:26 -0500 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id DBE2D63CD8; Fri, 20 Nov 2020 18:11:19 +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 B83DD5D6AD; Fri, 20 Nov 2020 18:11:19 +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 832195002D; Fri, 20 Nov 2020 18:11:19 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AKIBHlk010768 for ; Fri, 20 Nov 2020 13:11:17 -0500 Received: by smtp.corp.redhat.com (Postfix) id C2EF212D7E; Fri, 20 Nov 2020 18:11:17 +0000 (UTC) Received: from localhost (unknown [10.36.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id A4AAD620D7; Fri, 20 Nov 2020 18:11:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605895888; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=TSlaE6vQnrYEoOT92Rt+yldqA7MapRpGbqe5EvXQsVw=; b=TWIHXzWYmjY7AIrjz4lhUEhwx2KuRDZkj0kQ9n954mSyi18gHLqp3fg47pQrORlWKUC02F Cis8gWYa8qTQNyzeUOMkW90I0LWGZpqkoO7fK7LxKeCnFdTMhru/g3P6bLfvpJNViGLiew MWoh4x+DjZknmH1SQjvfo3ZDq5DElAs= X-MC-Unique: 1Q9wAp9wMLeHjA2AU7JzLg-1 From: marcandre.lureau@redhat.com To: libvir-list@redhat.com Subject: [libvirt PATCH 8/9] qemu_driver: report guest disk informations Date: Fri, 20 Nov 2020 22:09:47 +0400 Message-Id: <20201120180948.203254-9-marcandre.lureau@redhat.com> In-Reply-To: <20201120180948.203254-1-marcandre.lureau@redhat.com> References: <20201120180948.203254-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michal Privoznik Tested-by: Han Han --- src/qemu/qemu_driver.c | 99 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 96 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index a8760f82b1..8d3e09da69 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -19820,7 +19820,8 @@ static const unsigned int qemuDomainGetGuestInfoSup= portedTypes =3D VIR_DOMAIN_GUEST_INFO_OS | VIR_DOMAIN_GUEST_INFO_TIMEZONE | VIR_DOMAIN_GUEST_INFO_HOSTNAME | - VIR_DOMAIN_GUEST_INFO_FILESYSTEM; + VIR_DOMAIN_GUEST_INFO_FILESYSTEM | + VIR_DOMAIN_GUEST_INFO_DISKS; =20 static int qemuDomainGetGuestInfoCheckSupport(unsigned int types, @@ -19843,6 +19844,80 @@ qemuDomainGetGuestInfoCheckSupport(unsigned int ty= pes, return 0; } =20 + +static void +qemuAgentDiskInfoFormatParams(qemuAgentDiskInfoPtr *info, + int ndisks, + virDomainDefPtr vmdef, + virTypedParameterPtr *params, + int *nparams, int *maxparams) +{ + size_t i, j, ndeps; + + if (virTypedParamsAddUInt(params, nparams, maxparams, + "disks.count", ndisks) < 0) + return; + + for (i =3D 0; i < ndisks; i++) { + char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; + + g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, + "disks.%zu.name", i); + if (virTypedParamsAddString(params, nparams, maxparams, + param_name, info[i]->name) < 0) + return; + + g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, + "disks.%zu.partition", i); + if (virTypedParamsAddBoolean(params, nparams, maxparams, + param_name, info[i]->partition) < 0) + return; + + ndeps =3D g_strv_length(info[i]->dependencies); + g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, + "disks.%zu.dependencies.count", i); + if (ndeps && + virTypedParamsAddUInt(params, nparams, maxparams, + param_name, ndeps) < 0) + return; + for (j =3D 0; j < ndeps; j++) { + g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, + "disks.%zu.dependencies.%zu.name", i, j); + if (virTypedParamsAddString(params, nparams, maxparams, + param_name, info[i]->dependencies[= j]) < 0) + return; + } + + if (info[i]->address) { + virDomainDiskDefPtr diskdef =3D NULL; + + /* match the disk to the target in the vm definition */ + diskdef =3D virDomainDiskByAddress(vmdef, + &info[i]->address->pci_contro= ller, + info[i]->address->bus, + info[i]->address->target, + info[i]->address->unit); + if (diskdef) { + g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, + "disks.%zu.alias", i); + if (diskdef->dst && + virTypedParamsAddString(params, nparams, maxparams, + param_name, diskdef->dst) < 0) + return; + } + } + + if (info[i]->alias) { + g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, + "disks.%zu.guest_alias", i); + if (virTypedParamsAddString(params, nparams, maxparams, + param_name, info[i]->alias) < 0) + return; + } + } +} + + static void qemuAgentFSInfoFormatParams(qemuAgentFSInfoPtr *fsinfo, int nfs, @@ -19951,6 +20026,8 @@ qemuDomainGetGuestInfo(virDomainPtr dom, int rc; size_t nfs =3D 0; qemuAgentFSInfoPtr *agentfsinfo =3D NULL; + size_t ndisks =3D 0; + qemuAgentDiskInfoPtr *agentdiskinfo =3D NULL; size_t i; =20 virCheckFlags(0, -1); @@ -20007,6 +20084,15 @@ qemuDomainGetGuestInfo(virDomainPtr dom, } } =20 + if (supportedTypes & VIR_DOMAIN_GUEST_INFO_DISKS) { + rc =3D qemuAgentGetDisks(agent, &agentdiskinfo, report_unsupported= ); + if (rc =3D=3D -1) { + goto exitagent; + } else if (rc >=3D 0) { + ndisks =3D rc; + } + } + ret =3D 0; =20 exitagent: @@ -20015,7 +20101,7 @@ qemuDomainGetGuestInfo(virDomainPtr dom, endagentjob: qemuDomainObjEndAgentJob(vm); =20 - if (nfs > 0) { + if (nfs > 0 || ndisks > 0) { if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0) goto cleanup; =20 @@ -20024,7 +20110,11 @@ qemuDomainGetGuestInfo(virDomainPtr dom, =20 /* we need to convert the agent fsinfo struct to parameters and ma= tch * it to the vm disk target */ - qemuAgentFSInfoFormatParams(agentfsinfo, nfs, vm->def, params, npa= rams, &maxparams); + if (nfs) + qemuAgentFSInfoFormatParams(agentfsinfo, nfs, vm->def, params,= nparams, &maxparams); + + if (ndisks > 0) + qemuAgentDiskInfoFormatParams(agentdiskinfo, ndisks, vm->def, = params, nparams, &maxparams); =20 endjob: qemuDomainObjEndJob(driver, vm); @@ -20034,6 +20124,9 @@ qemuDomainGetGuestInfo(virDomainPtr dom, for (i =3D 0; i < nfs; i++) qemuAgentFSInfoFree(agentfsinfo[i]); g_free(agentfsinfo); + for (i =3D 0; i < ndisks; i++) + qemuAgentDiskInfoFree(agentdiskinfo[i]); + g_free(agentdiskinfo); =20 virDomainObjEndAPI(&vm); return ret; --=20 2.29.0 From nobody Thu Apr 25 19:44:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605895907; cv=none; d=zohomail.com; s=zohoarc; b=T8SBYXltk2MdqOGWERYuJf3lYXaCZcz2TFyhi5PnbQHR2vCMH/VsWKcldBVW40Kts48QBXfyx3qy5G7A5LuUG/Y6wbGXG5Yi9DO1GUr2fWUfpRVWF8TGVprOfNql99Y4zS7V0jbhz7sqwppFko7Wg3XXpwsEDxsmjMXIIer0Hi0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605895907; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Gj4/HHR0ZIEdMJH5tFO/54VC3dw/mI9bq/GoJpRUI5E=; b=GXE+TxfOJ8Jq6QhvsK5ydRyhpcZ5DYpcrJejhc0853hadKNmuZlxDPRlNHp/nJhKFPr0G055g0OjexixYf7mTdEKrlIar+7Ahh81IwzX7owqtGO9hz0C4XJsolTOiUBGCpqsIq+OI9k3huNTE4c7kbP1J2hQ4Gcp3HAfGk5Iq88= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1605895907758309.0003627420102; Fri, 20 Nov 2020 10:11:47 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-573-rVjXaPJROr6qWDbUbHqyKQ-1; Fri, 20 Nov 2020 13:11:43 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8E602107AD29; Fri, 20 Nov 2020 18:11:37 +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 5321510013C0; Fri, 20 Nov 2020 18:11:37 +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 BDECE180954D; Fri, 20 Nov 2020 18:11:35 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AKIBXpo010892 for ; Fri, 20 Nov 2020 13:11:33 -0500 Received: by smtp.corp.redhat.com (Postfix) id E853F10013C0; Fri, 20 Nov 2020 18:11:33 +0000 (UTC) Received: from localhost (unknown [10.36.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id 608DF100AE2C; Fri, 20 Nov 2020 18:11:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605895906; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Gj4/HHR0ZIEdMJH5tFO/54VC3dw/mI9bq/GoJpRUI5E=; b=ahqpUdoXX89xDi1v73MaIB1Zq2KBD4uX9EdAcUiD/ECcZCcKyIjdCaoRarFCa+7703U70M 3t1Yj8gQz3gY3c4KbJ3d4ErnXksEFAkfutINle+HWGGRyrowLe0wsgRqAjh31nB/I9JSza 5XvyXSoWRjfETzyKaSBEAkfqPD8kzDk= X-MC-Unique: rVjXaPJROr6qWDbUbHqyKQ-1 From: marcandre.lureau@redhat.com To: libvir-list@redhat.com Subject: [libvirt PATCH 9/9] virsh: add --disk informations to guestinfo command Date: Fri, 20 Nov 2020 22:09:48 +0400 Message-Id: <20201120180948.203254-10-marcandre.lureau@redhat.com> In-Reply-To: <20201120180948.203254-1-marcandre.lureau@redhat.com> References: <20201120180948.203254-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) From: Marc-Andr=C3=A9 Lureau Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Michal Privoznik Tested-by: Han Han --- tools/virsh-domain.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index c999458d72..070b8d21fd 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -14219,6 +14219,10 @@ static const vshCmdOptDef opts_guestinfo[] =3D { .type =3D VSH_OT_BOOL, .help =3D N_("report filesystem information"), }, + {.name =3D "disks", + .type =3D VSH_OT_BOOL, + .help =3D N_("report disks information"), + }, {.name =3D NULL} }; =20 @@ -14242,6 +14246,8 @@ cmdGuestInfo(vshControl *ctl, const vshCmd *cmd) types |=3D VIR_DOMAIN_GUEST_INFO_HOSTNAME; if (vshCommandOptBool(cmd, "filesystem")) types |=3D VIR_DOMAIN_GUEST_INFO_FILESYSTEM; + if (vshCommandOptBool(cmd, "disks")) + types |=3D VIR_DOMAIN_GUEST_INFO_DISKS; =20 if (!(dom =3D virshCommandOptDomain(ctl, cmd, NULL))) return false; --=20 2.29.0