From 720e2c0df7bbf2d3daed20cadd5f3f710576a05c Mon Sep 17 00:00:00 2001 From: Anoop C S Date: Wed, 19 Nov 2014 16:27:05 +0530 Subject: rdma: Client volfile name change for supporting rdma For rdma only volumes, daemons like snapd, glustershd etc make use of tcp transport for their operations. This patch will introduce the support of rdma by default for those daemons in rdma only volumes. In order to accomodate this change we rename the tcp client volfile labels from -fuse.vol to .tcp-fuse.vol Change-Id: Id9727b97d00e62a4a1556b9c0c56653d45c8fe1d BUG: 1164079 Signed-off-by: Anoop C S Reviewed-on: http://review.gluster.org/9146 Tested-by: Gluster Build System Reviewed-by: Kaushal M --- xlators/mgmt/glusterd/src/glusterd-handshake.c | 22 ++++++++++++++++++++-- xlators/mgmt/glusterd/src/glusterd-utils.c | 4 ++-- 2 files changed, 22 insertions(+), 4 deletions(-) (limited to 'xlators/mgmt') diff --git a/xlators/mgmt/glusterd/src/glusterd-handshake.c b/xlators/mgmt/glusterd/src/glusterd-handshake.c index f2f5178a456..8c9194e1961 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handshake.c +++ b/xlators/mgmt/glusterd/src/glusterd-handshake.c @@ -158,7 +158,8 @@ build_volfile_path (char *volume_id, char *path, char *free_ptr = NULL; char *volname = NULL; char *volid_ptr = NULL; - char path_prefix [PATH_MAX] = {0,}; + char dup_volid[PATH_MAX] = {0,}; + char path_prefix[PATH_MAX] = {0,}; xlator_t *this = NULL; glusterd_volinfo_t *volinfo = NULL; glusterd_conf_t *priv = NULL; @@ -275,10 +276,27 @@ gotvolinfo: ret = stat (path, &stbuf); if ((ret == -1) && (errno == ENOENT)) { + strcpy (dup_volid, volid_ptr); + if (!strchr (dup_volid, '.')) { + switch (volinfo->transport_type) { + case GF_TRANSPORT_TCP: + strcat (dup_volid, ".tcp"); + break; + case GF_TRANSPORT_RDMA: + strcat (dup_volid, ".rdma"); + break; + case GF_TRANSPORT_BOTH_TCP_RDMA: + strcat (dup_volid, ".tcp"); + break; + default: + ret = -1; + break; + } + } snprintf (path, path_len, "%s/%s/%s%s-fuse.vol", path_prefix, volinfo->volname, (trusted_str ? trusted_str : ""), - volid_ptr); + dup_volid); ret = stat (path, &stbuf); } out: diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 85d716e2e18..e285a499a5c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -9067,7 +9067,7 @@ glusterd_get_client_filepath (char *filepath, glusterd_volinfo_t *volinfo, switch (type) { case GF_TRANSPORT_TCP: snprintf (filepath, PATH_MAX, - "%s/%s-fuse.vol", path, volinfo->volname); + "%s/%s.tcp-fuse.vol", path, volinfo->volname); break; case GF_TRANSPORT_RDMA: @@ -9097,7 +9097,7 @@ glusterd_get_trusted_client_filepath (char *filepath, switch (type) { case GF_TRANSPORT_TCP: - snprintf (filepath, PATH_MAX, "%s/trusted-%s-fuse.vol", + snprintf (filepath, PATH_MAX, "%s/trusted-%s.tcp-fuse.vol", path, volinfo->volname); break; -- cgit