diff options
author | Anoop C S <achiraya@redhat.com> | 2014-11-19 16:27:05 +0530 |
---|---|---|
committer | Kaushal M <kaushal@redhat.com> | 2014-11-19 23:24:31 -0800 |
commit | 720e2c0df7bbf2d3daed20cadd5f3f710576a05c (patch) | |
tree | d04d2df1ba79dfac9b0fb37d588ff7bc613d8f34 | |
parent | 33800b332ec7aa70fa14809c1030cfabaddc02a0 (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>
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handshake.c | 22 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 4 |
2 files changed, 22 insertions, 4 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: 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; |