From patchwork Mon Mar 6 19:00:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Armbruster X-Patchwork-Id: 9607345 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 1B2C0601D2 for ; Mon, 6 Mar 2017 19:09:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 23D7326BE9 for ; Mon, 6 Mar 2017 19:09:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 17D3A27B2F; Mon, 6 Mar 2017 19:09:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 662EF26BE9 for ; Mon, 6 Mar 2017 19:09:26 +0000 (UTC) Received: from localhost ([::1]:45642 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cky0b-0002QX-DM for patchwork-qemu-devel@patchwork.kernel.org; Mon, 06 Mar 2017 14:09:25 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46095) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ckxsY-0004FQ-1y for qemu-devel@nongnu.org; Mon, 06 Mar 2017 14:01:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ckxsW-0004sM-OI for qemu-devel@nongnu.org; Mon, 06 Mar 2017 14:01:06 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59844) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ckxsM-0004eH-GZ; Mon, 06 Mar 2017 14:00:54 -0500 Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 85A127E9DD; Mon, 6 Mar 2017 19:00:54 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-55.ams2.redhat.com [10.36.116.55]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1AC292DB40; Mon, 6 Mar 2017 19:00:54 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 7EDD9113860A; Mon, 6 Mar 2017 20:00:49 +0100 (CET) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 6 Mar 2017 20:00:48 +0100 Message-Id: <1488826849-32384-15-git-send-email-armbru@redhat.com> In-Reply-To: <1488826849-32384-1-git-send-email-armbru@redhat.com> References: <1488826849-32384-1-git-send-email-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 06 Mar 2017 19:00:54 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 14/15] qapi-schema: Rename SocketAddressFlat's variant tcp to inet X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, qemu-block@nongnu.org, mitake.hitoshi@lab.ntt.co.jp, jcody@redhat.com, f4bug@amsat.org, namei.unix@gmail.com, ndevos@redhat.com Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP QAPI type SocketAddressFlat differs from SocketAddress pointlessly: the discriminator value for variant InetSocketAddress is 'tcp' instead of 'inet'. Rename. The type is so far only used by the Gluster block drivers. Take care to keep 'tcp' working in things like -drive's file.server.0.type=tcp. The "gluster+tcp" URI scheme in pseudo-filenames stays the same. blockdev-add changes, but it has changed incompatibly since 2.8 already. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- block/gluster.c | 59 +++++++++++++++++++++++++++++--------------------------- qapi-schema.json | 8 ++++---- 2 files changed, 35 insertions(+), 32 deletions(-) diff --git a/block/gluster.c b/block/gluster.c index 64b0217..a577dae 100644 --- a/block/gluster.c +++ b/block/gluster.c @@ -152,7 +152,7 @@ static QemuOptsList runtime_type_opts = { { .name = GLUSTER_OPT_TYPE, .type = QEMU_OPT_STRING, - .help = "tcp|unix", + .help = "inet|unix", }, { /* end of list */ } }, @@ -171,14 +171,14 @@ static QemuOptsList runtime_unix_opts = { }, }; -static QemuOptsList runtime_tcp_opts = { - .name = "gluster_tcp", - .head = QTAILQ_HEAD_INITIALIZER(runtime_tcp_opts.head), +static QemuOptsList runtime_inet_opts = { + .name = "gluster_inet", + .head = QTAILQ_HEAD_INITIALIZER(runtime_inet_opts.head), .desc = { { .name = GLUSTER_OPT_TYPE, .type = QEMU_OPT_STRING, - .help = "tcp|unix", + .help = "inet|unix", }, { .name = GLUSTER_OPT_HOST, @@ -337,14 +337,14 @@ static int qemu_gluster_parse_uri(BlockdevOptionsGluster *gconf, /* transport */ if (!uri->scheme || !strcmp(uri->scheme, "gluster")) { - gsconf->type = SOCKET_ADDRESS_FLAT_TYPE_TCP; + gsconf->type = SOCKET_ADDRESS_FLAT_TYPE_INET; } else if (!strcmp(uri->scheme, "gluster+tcp")) { - gsconf->type = SOCKET_ADDRESS_FLAT_TYPE_TCP; + gsconf->type = SOCKET_ADDRESS_FLAT_TYPE_INET; } else if (!strcmp(uri->scheme, "gluster+unix")) { gsconf->type = SOCKET_ADDRESS_FLAT_TYPE_UNIX; is_unix = true; } else if (!strcmp(uri->scheme, "gluster+rdma")) { - gsconf->type = SOCKET_ADDRESS_FLAT_TYPE_TCP; + gsconf->type = SOCKET_ADDRESS_FLAT_TYPE_INET; error_report("Warning: rdma feature is not supported, falling " "back to tcp"); } else { @@ -374,11 +374,11 @@ static int qemu_gluster_parse_uri(BlockdevOptionsGluster *gconf, } gsconf->u.q_unix.path = g_strdup(qp->p[0].value); } else { - gsconf->u.tcp.host = g_strdup(uri->server ? uri->server : "localhost"); + gsconf->u.inet.host = g_strdup(uri->server ? uri->server : "localhost"); if (uri->port) { - gsconf->u.tcp.port = g_strdup_printf("%d", uri->port); + gsconf->u.inet.port = g_strdup_printf("%d", uri->port); } else { - gsconf->u.tcp.port = g_strdup_printf("%d", GLUSTER_DEFAULT_PORT); + gsconf->u.inet.port = g_strdup_printf("%d", GLUSTER_DEFAULT_PORT); } } @@ -416,15 +416,15 @@ static struct glfs *qemu_gluster_glfs_init(BlockdevOptionsGluster *gconf, ret = glfs_set_volfile_server(glfs, "unix", server->value->u.q_unix.path, 0); } else { - if (parse_uint_full(server->value->u.tcp.port, &port, 10) < 0 || + if (parse_uint_full(server->value->u.inet.port, &port, 10) < 0 || port > 65535) { error_setg(errp, "'%s' is not a valid port number", - server->value->u.tcp.port); + server->value->u.inet.port); errno = EINVAL; goto out; } ret = glfs_set_volfile_server(glfs, "tcp", - server->value->u.tcp.host, + server->value->u.inet.host, (int)port); } @@ -448,8 +448,8 @@ static struct glfs *qemu_gluster_glfs_init(BlockdevOptionsGluster *gconf, server->value->u.q_unix.path); } else { error_append_hint(errp, "hint: failed on host %s and port %s ", - server->value->u.tcp.host, - server->value->u.tcp.port); + server->value->u.inet.host, + server->value->u.inet.port); } } @@ -536,21 +536,24 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf, } gsconf = g_new0(SocketAddressFlat, 1); + if (!strcmp(ptr, "tcp")) { + ptr = "inet"; /* accept legacy "tcp" */ + } gsconf->type = qapi_enum_parse(SocketAddressFlatType_lookup, ptr, SOCKET_ADDRESS_FLAT_TYPE__MAX, -1, &local_err); if (local_err) { error_append_hint(&local_err, - "Parameter '%s' may be 'tcp' or 'unix'\n", + "Parameter '%s' may be 'inet' or 'unix'\n", GLUSTER_OPT_TYPE); error_append_hint(&local_err, GERR_INDEX_HINT, i); goto out; } qemu_opts_del(opts); - if (gsconf->type == SOCKET_ADDRESS_FLAT_TYPE_TCP) { - /* create opts info from runtime_tcp_opts list */ - opts = qemu_opts_create(&runtime_tcp_opts, NULL, 0, &error_abort); + if (gsconf->type == SOCKET_ADDRESS_FLAT_TYPE_INET) { + /* create opts info from runtime_inet_opts list */ + opts = qemu_opts_create(&runtime_inet_opts, NULL, 0, &error_abort); qemu_opts_absorb_qdict(opts, backing_options, &local_err); if (local_err) { goto out; @@ -563,7 +566,7 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf, error_append_hint(&local_err, GERR_INDEX_HINT, i); goto out; } - gsconf->u.tcp.host = g_strdup(ptr); + gsconf->u.inet.host = g_strdup(ptr); ptr = qemu_opt_get(opts, GLUSTER_OPT_PORT); if (!ptr) { error_setg(&local_err, QERR_MISSING_PARAMETER, @@ -571,28 +574,28 @@ static int qemu_gluster_parse_json(BlockdevOptionsGluster *gconf, error_append_hint(&local_err, GERR_INDEX_HINT, i); goto out; } - gsconf->u.tcp.port = g_strdup(ptr); + gsconf->u.inet.port = g_strdup(ptr); /* defend for unsupported fields in InetSocketAddress, * i.e. @ipv4, @ipv6 and @to */ ptr = qemu_opt_get(opts, GLUSTER_OPT_TO); if (ptr) { - gsconf->u.tcp.has_to = true; + gsconf->u.inet.has_to = true; } ptr = qemu_opt_get(opts, GLUSTER_OPT_IPV4); if (ptr) { - gsconf->u.tcp.has_ipv4 = true; + gsconf->u.inet.has_ipv4 = true; } ptr = qemu_opt_get(opts, GLUSTER_OPT_IPV6); if (ptr) { - gsconf->u.tcp.has_ipv6 = true; + gsconf->u.inet.has_ipv6 = true; } - if (gsconf->u.tcp.has_to) { + if (gsconf->u.inet.has_to) { error_setg(&local_err, "Parameter 'to' not supported"); goto out; } - if (gsconf->u.tcp.has_ipv4 || gsconf->u.tcp.has_ipv6) { + if (gsconf->u.inet.has_ipv4 || gsconf->u.inet.has_ipv6) { error_setg(&local_err, "Parameters 'ipv4/ipv6' not supported"); goto out; } @@ -669,7 +672,7 @@ static struct glfs *qemu_gluster_init(BlockdevOptionsGluster *gconf, "file.volume=testvol,file.path=/path/a.qcow2" "[,file.debug=9]" "[,file.logfile=/path/filename.log]," - "file.server.0.type=tcp," + "file.server.0.type=inet," "file.server.0.host=1.2.3.4," "file.server.0.port=24007," "file.server.1.transport=unix," diff --git a/qapi-schema.json b/qapi-schema.json index 15a8f7d..32b4a4b 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -4105,14 +4105,14 @@ # # Available SocketAddressFlat types # -# @tcp: Internet address +# @inet: Internet address # # @unix: Unix domain socket # # Since: 2.9 ## { 'enum': 'SocketAddressFlatType', - 'data': [ 'unix', 'tcp' ] } + 'data': [ 'unix', 'inet' ] } ## # @SocketAddressFlat: @@ -4127,7 +4127,7 @@ # A flat union is nicer than simple because it avoids nesting # (i.e. more {}) on the wire. # -# 2. SocketAddressFlat supports only types 'unix' and 'tcp', because +# 2. SocketAddressFlat supports only types 'unix' and 'inet', because # that's what its current users need. # # Since: 2.9 @@ -4136,7 +4136,7 @@ 'base': { 'type': 'SocketAddressFlatType' }, 'discriminator': 'type', 'data': { 'unix': 'UnixSocketAddress', - 'tcp': 'InetSocketAddress' } } + 'inet': 'InetSocketAddress' } } ## # @getfd: