From nobody Wed May 14 10:46:45 2025 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 1524669709659806.8713264148115; Wed, 25 Apr 2018 08:21:49 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CF20730BA359; Wed, 25 Apr 2018 15:21:47 +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 94C883133BE4; Wed, 25 Apr 2018 15:21:46 +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 243C7180BAD5; Wed, 25 Apr 2018 15:21:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w3PFG5BU020181 for ; Wed, 25 Apr 2018 11:16:06 -0400 Received: by smtp.corp.redhat.com (Postfix) id BF0E6202698A; Wed, 25 Apr 2018 15:16:05 +0000 (UTC) Received: from angien.brq.redhat.com (unknown [10.43.2.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id 275782026E0E; Wed, 25 Apr 2018 15:16:05 +0000 (UTC) From: Peter Krempa To: libvir-list@redhat.com Date: Wed, 25 Apr 2018 17:15:22 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Cc: Kevin Wolf , Peter Krempa Subject: [libvirt] [PATCH 14/35] qemu: block: Propagate 'legacy' parameter when formatting disk backing 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.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Wed, 25 Apr 2018 15:21:48 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The gluster protocol in qemu uses two styles, one of which is legacy and not covered by the QAPI schema. To allow using of the new style in the blockdev-add code, add a parameter for qemuBlockStorageSourceGetBackendProps which will switch between the two modes. Signed-off-by: Peter Krempa Reviewed-by: John Ferlan --- src/qemu/qemu_block.c | 11 +++++++---- src/qemu/qemu_block.h | 3 ++- src/qemu/qemu_command.c | 2 +- tests/qemublocktest.c | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index bf330f8238..29fc7edf61 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -655,13 +655,14 @@ qemuBlockStorageSourceBuildHostsJSONInetSocketAddress= (virStorageSourcePtr src) static virJSONValuePtr -qemuBlockStorageSourceGetGlusterProps(virStorageSourcePtr src) +qemuBlockStorageSourceGetGlusterProps(virStorageSourcePtr src, + bool legacy) { virJSONValuePtr servers =3D NULL; virJSONValuePtr props =3D NULL; virJSONValuePtr ret =3D NULL; - if (!(servers =3D qemuBlockStorageSourceBuildHostsJSONSocketAddress(sr= c, true))) + if (!(servers =3D qemuBlockStorageSourceBuildHostsJSONSocketAddress(sr= c, legacy))) return NULL; /* { driver:"gluster", @@ -1022,12 +1023,14 @@ qemuBlockStorageSourceGetVvfatProps(virStorageSourc= ePtr src) /** * qemuBlockStorageSourceGetBackendProps: * @src: disk source + * @legacy: use legacy formatting of attributes (for -drive / old qemus) * * Creates a JSON object describing the underlying storage or protocol of a * storage source. Returns NULL on error and reports an appropriate error = message. */ virJSONValuePtr -qemuBlockStorageSourceGetBackendProps(virStorageSourcePtr src) +qemuBlockStorageSourceGetBackendProps(virStorageSourcePtr src, + bool legacy) { int actualType =3D virStorageSourceGetActualType(src); virJSONValuePtr fileprops =3D NULL; @@ -1054,7 +1057,7 @@ qemuBlockStorageSourceGetBackendProps(virStorageSourc= ePtr src) case VIR_STORAGE_TYPE_NETWORK: switch ((virStorageNetProtocol) src->protocol) { case VIR_STORAGE_NET_PROTOCOL_GLUSTER: - if (!(fileprops =3D qemuBlockStorageSourceGetGlusterProps(src)= )) + if (!(fileprops =3D qemuBlockStorageSourceGetGlusterProps(src,= legacy))) return NULL; break; diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index 45485733fc..0e674437f4 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -58,7 +58,8 @@ bool qemuBlockStorageSourceSupportsConcurrentAccess(virStorageSourcePtr src); virJSONValuePtr -qemuBlockStorageSourceGetBackendProps(virStorageSourcePtr src); +qemuBlockStorageSourceGetBackendProps(virStorageSourcePtr src, + bool legacy); virURIPtr qemuBlockStorageSourceGetURI(virStorageSourcePtr src); diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index ecf28d3d1d..a917eb52b1 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1458,7 +1458,7 @@ qemuDiskSourceGetProps(virStorageSourcePtr src) virJSONValuePtr props; virJSONValuePtr ret; - if (!(props =3D qemuBlockStorageSourceGetBackendProps(src))) + if (!(props =3D qemuBlockStorageSourceGetBackendProps(src, true))) return NULL; if (virJSONValueObjectCreate(&ret, "a:file", &props, NULL) < 0) { diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c index 99584c759c..bd628295ff 100644 --- a/tests/qemublocktest.c +++ b/tests/qemublocktest.c @@ -62,7 +62,7 @@ testBackingXMLjsonXML(const void *args) goto cleanup; } - if (!(backendprops =3D qemuBlockStorageSourceGetBackendProps(xmlsrc)))= { + if (!(backendprops =3D qemuBlockStorageSourceGetBackendProps(xmlsrc, t= rue))) { fprintf(stderr, "failed to format disk source json\n"); goto cleanup; } --=20 2.16.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list