From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53378) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bO4c5-0002q1-Kb for qemu-devel@nongnu.org; Fri, 15 Jul 2016 11:01:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bO4c3-0005RF-Bi for qemu-devel@nongnu.org; Fri, 15 Jul 2016 11:01:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53380) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bO4c3-0005QA-3k for qemu-devel@nongnu.org; Fri, 15 Jul 2016 11:01:11 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 05913C05AA4D for ; Fri, 15 Jul 2016 15:01:10 +0000 (UTC) From: Prasanna Kumar Kalever Date: Fri, 15 Jul 2016 20:30:53 +0530 Message-Id: <1468594858-26889-1-git-send-email-prasanna.kalever@redhat.com> Subject: [Qemu-devel] [PATCH v19 0/5] block/gluster: add support for multiple gluster servers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: eblake@redhat.com, armbru@redhat.com, jcody@redhat.com, berrange@redhat.com, vbellur@redhat.com, rtalur@redhat.com, Prasanna Kumar Kalever This version of patches are rebased repo at git://repo.or.cz/qemu/armbru.git qapi-not-next Prasanna Kumar Kalever (5): block/gluster: rename [server, volname, image] -> [host, volume, path] block/gluster: code cleanup block/gluster: remove rdma transport block/gluster: using new qapi schema block/gluster: add support for multiple gluster servers v1: multiple host addresses but common port number and transport type pattern: URI syntax with query (?) delimitor syntax: file=gluster[+transport-type]://host1:24007/testvol/a.img\ ?server=host2&server=host3 v2: multiple host addresses each have their own port number, but all use common transport type pattern: URI syntax with query (?) delimiter syntax: file=gluster[+transport-type]://[host[:port]]/testvol/a.img\ [?server=host1[:port]\ &server=host2[:port]] v3: multiple host addresses each have their own port number and transport type pattern: changed to json syntax: 'json:{"driver":"qcow2","file":{"driver":"gluster","volume":"testvol", "path":"/path/a.qcow2","server": [{"host":"1.2.3.4","port":"24007","transport":"tcp"}, {"host":"4.5.6.7","port":"24008","transport":"rdma"}] } }' v4, v5: address comments from "Eric Blake" renamed: 'backup-volfile-servers' -> 'volfile-servers' v6: address comments from Peter Krempa renamed: 'volname' -> 'volume' 'image-path' -> 'path' 'server' -> 'host' v7: fix for v6 (initialize num_servers to 1 and other typos) v8: split patch set v7 into series of 3 as per Peter Krempa review comments v9: reorder the series of patches addressing "Eric Blake" review comments v10: fix mem-leak as per Peter Krempa review comments v11: using qapi-types* defined structures as per "Eric Blake" review comments. v12: fix crash caused in qapi_free_BlockdevOptionsGluster v13: address comments from "Jeff Cody" v14: address comments from "Eric Blake" split patch 3/3 into two rename input option and variable from 'servers' to 'server' v15: patch 1/4 changed the commit message as per Eric's comment patch 2/4 are unchanged patch 3/4 addressed Jeff's comments patch 4/4 concentrates on unix transport related help info, rename 'parse_transport_option()' to 'qapi_enum_parse()', address memory leaks and other comments given by Jeff and Eric v16: In patch 4/4 fixed segfault on glfs_init() error case, as per Jeff's comments other patches in this series remain unchanged v17: rebase of v16 on latest master v18: rebase of v17 on latest master rebase has demanded type conversion of 'qemu_gluster_init()'[s] first argument from 'BlockdevOptionsGluster**' to 'BlockdevOptionsGluster*' and all its callees both in 3/4 and 4/4 patches v19: patches 1/5, 2/5 remains unchanged patch 3/5 is something new, in which the rdma deadcode is removed patch 4/5 (i.e. 3/4 in v18) now uses union discriminator, I have made a choice to use gluster with custom schema since @UnixSocketAddress uses 'path' as key, which may be confusing with gluster, and in @InetSocketAddress port was str again I have made a choice to keep it uint16 which really make sense. Hmmm.. As Markus suggested in v18 qemu_gluster_parseuri() is *parse_uri() same with *parse_json() (in 5/5) patch 5/5 (i.e 4/4 in v18) adds a list of servers and json parser functionality as usual Thanks to Markus and Eric for help in understanding the new schema changes. block/gluster.c | 602 ++++++++++++++++++++++++++++++++++++--------------- qapi/block-core.json | 94 +++++++- 2 files changed, 518 insertions(+), 178 deletions(-) -- 2.7.4