summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-handshake.c
diff options
context:
space:
mode:
authorAnoop C S <achiraya@redhat.com>2014-11-19 16:27:05 +0530
committerKaushal M <kaushal@redhat.com>2014-11-19 23:24:31 -0800
commit720e2c0df7bbf2d3daed20cadd5f3f710576a05c (patch)
treed04d2df1ba79dfac9b0fb37d588ff7bc613d8f34 /xlators/mgmt/glusterd/src/glusterd-handshake.c
parent33800b332ec7aa70fa14809c1030cfabaddc02a0 (diff)
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 <volname>-fuse.vol to <volname>.tcp-fuse.vol Change-Id: Id9727b97d00e62a4a1556b9c0c56653d45c8fe1d BUG: 1164079 Signed-off-by: Anoop C S <achiraya@redhat.com> Reviewed-on: http://review.gluster.org/9146 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushal M <kaushal@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-handshake.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-handshake.c22
1 files changed, 20 insertions, 2 deletions
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: