From nobody Sun May 5 12:22:20 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 1518611732640993.8976381477477; Wed, 14 Feb 2018 04:35:32 -0800 (PST) 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 mx1.redhat.com (Postfix) with ESMTPS id 305DB776CA; Wed, 14 Feb 2018 12:35:31 +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 D40B060A9C; Wed, 14 Feb 2018 12:35:30 +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 819184A46B; Wed, 14 Feb 2018 12:35:30 +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 w1ECXpMb014175 for ; Wed, 14 Feb 2018 07:33:52 -0500 Received: by smtp.corp.redhat.com (Postfix) id D9A8C2024CA8; Wed, 14 Feb 2018 12:33:51 +0000 (UTC) Received: from angien.brq.redhat.com (unknown [10.43.2.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id 663032024CA4; Wed, 14 Feb 2018 12:33:51 +0000 (UTC) From: Peter Krempa To: libvir-list@redhat.com Date: Wed, 14 Feb 2018 13:33:10 +0100 Message-Id: <671f2fa419451c120fddcf6bef12b90e3221bfdd.1518611461.git.pkrempa@redhat.com> 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: Peter Krempa Subject: [libvirt] [PATCH v2 1/2] storage: Fix formatting and parsing of qemu type 'UnixSocketAddress' 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.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 14 Feb 2018 12:35:31 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The documentation for the JSON/qapi type 'UnixSocketAddress' states that the unix socket path field is named 'path'. Unfortunately qemu uses 'socket' in case of the gluster driver (despite documented otherwise). Add logic which will format the correct fields while keeping support of the old spelling. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=3D1544325 Signed-off-by: Peter Krempa --- src/qemu/qemu_block.c | 13 +++++++++++-- src/util/virstoragefile.c | 8 +++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 8b71679118..6f81e9d96c 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -467,11 +467,14 @@ qemuBlockStorageSourceGetURI(virStorageSourcePtr src) /** * qemuBlockStorageSourceBuildJSONSocketAddress * @host: the virStorageNetHostDefPtr definition to build - * @legacy: use 'tcp' instead of 'inet' for compatibility reasons + * @legacy: use old field names/values * * Formats @hosts into a json object conforming to the 'SocketAddress' type * in qemu. * + * For compatibility with old approach used in the gluster driver of old q= emus + * use the old spelling for TCP transport and, the path field of the unix = socket. + * * Returns a virJSONValuePtr for a single server. */ static virJSONValuePtr @@ -481,6 +484,7 @@ qemuBlockStorageSourceBuildJSONSocketAddress(virStorage= NetHostDefPtr host, virJSONValuePtr server =3D NULL; virJSONValuePtr ret =3D NULL; const char *transport; + const char *field; char *port =3D NULL; switch ((virStorageNetHostTransport) host->transport) { @@ -502,9 +506,14 @@ qemuBlockStorageSourceBuildJSONSocketAddress(virStorag= eNetHostDefPtr host, break; case VIR_STORAGE_NET_HOST_TRANS_UNIX: + if (legacy) + field =3D "s:socket"; + else + field =3D "s:path"; + if (virJSONValueObjectCreate(&server, "s:type", "unix", - "s:socket", host->socket, + field, host->socket, NULL) < 0) goto cleanup; break; diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 7f878039ba..ebfb0a860a 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -2893,7 +2893,13 @@ virStorageSourceParseBackingJSONSocketAddress(virSto= rageNetHostDefPtr host, } else if (STREQ(type, "unix")) { host->transport =3D VIR_STORAGE_NET_HOST_TRANS_UNIX; - if (!(socket =3D virJSONValueObjectGetString(json, "socket"))) { + socket =3D virJSONValueObjectGetString(json, "path"); + + /* check for old spelling for gluster protocol */ + if (!socket) + socket =3D virJSONValueObjectGetString(json, "socket"); + + if (!socket) { virReportError(VIR_ERR_INVALID_ARG, "%s", _("missing socket path for udp backing server i= n " "JSON backing volume definition")); --=20 2.15.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sun May 5 12:22:20 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 151861163751566.82935881026026; Wed, 14 Feb 2018 04:33:57 -0800 (PST) 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 F31C446269; Wed, 14 Feb 2018 12:33:55 +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 C4097600C8; Wed, 14 Feb 2018 12:33:55 +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 8A8574A46C; Wed, 14 Feb 2018 12:33:55 +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 w1ECXq0Y014180 for ; Wed, 14 Feb 2018 07:33:52 -0500 Received: by smtp.corp.redhat.com (Postfix) id 91C962024CA8; Wed, 14 Feb 2018 12:33:52 +0000 (UTC) Received: from angien.brq.redhat.com (unknown [10.43.2.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1DFB92024CA4; Wed, 14 Feb 2018 12:33:51 +0000 (UTC) From: Peter Krempa To: libvir-list@redhat.com Date: Wed, 14 Feb 2018 13:33:11 +0100 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: Peter Krempa Subject: [libvirt] [PATCH v2 2/2] virstoragetest: Add test case for NBD over unix socket with new syntax 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.29]); Wed, 14 Feb 2018 12:33:56 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Use the new syntax which uses the 'UnixSocket' type in qemu. Signed-off-by: Peter Krempa --- tests/virstoragetest.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c index 6eed7134ed..16c271c781 100644 --- a/tests/virstoragetest.c +++ b/tests/virstoragetest.c @@ -1494,6 +1494,15 @@ mymain(void) "\n" " \n" "\n"); + TEST_BACKING_PARSE("json:{\"file\":{\"driver\":\"nbd\"," + "\"server\": { \"type\":\"unix\"," + "\"path\":\"/path/soc= ket\"" + "}" + "}" + "}", + "\n" + " \n" + "\n"); TEST_BACKING_PARSE("json:{\"file\":{\"driver\":\"ssh\"," "\"host\":\"example.org\"," "\"port\":\"6000\"," --=20 2.15.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list