summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/mgmt/glusterd')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-replace-brick.c27
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c6
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volume-ops.c22
3 files changed, 39 insertions, 16 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c
index 8bfa2d4bdd6..5a98d497137 100644
--- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c
+++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c
@@ -1390,14 +1390,16 @@ umount:
* after all commit acks are received.
*/
static int
-rb_update_srcbrick_port (glusterd_brickinfo_t *src_brickinfo, dict_t *rsp_dict,
- dict_t *req_dict, int32_t replace_op)
+rb_update_srcbrick_port (glusterd_volinfo_t *volinfo,
+ glusterd_brickinfo_t *src_brickinfo,
+ dict_t *rsp_dict, dict_t *req_dict, int32_t replace_op)
{
- xlator_t *this = NULL;
- dict_t *ctx = NULL;
- int ret = 0;
- int dict_ret = 0;
- int src_port = 0;
+ xlator_t *this = NULL;
+ dict_t *ctx = NULL;
+ int ret = 0;
+ int dict_ret = 0;
+ int src_port = 0;
+ char brickname[PATH_MAX] = {0,};
this = THIS;
@@ -1409,8 +1411,15 @@ rb_update_srcbrick_port (glusterd_brickinfo_t *src_brickinfo, dict_t *rsp_dict,
gf_log ("", GF_LOG_INFO,
"adding src-brick port no");
+ if (volinfo->transport_type == GF_TRANSPORT_RDMA) {
+ snprintf (brickname, sizeof(brickname), "%s.rdma",
+ src_brickinfo->path);
+ } else
+ snprintf (brickname, sizeof(brickname), "%s",
+ src_brickinfo->path);
+
src_brickinfo->port = pmap_registry_search (this,
- src_brickinfo->path, GF_PMAP_PORT_BRICKSERVER);
+ brickname, GF_PMAP_PORT_BRICKSERVER);
if (!src_brickinfo->port &&
replace_op != GF_REPLACE_OP_COMMIT_FORCE ) {
gf_log ("", GF_LOG_ERROR,
@@ -1645,7 +1654,7 @@ glusterd_op_replace_brick (dict_t *dict, dict_t *rsp_dict)
goto out;
}
- ret = rb_update_srcbrick_port (src_brickinfo, rsp_dict,
+ ret = rb_update_srcbrick_port (volinfo, src_brickinfo, rsp_dict,
dict, replace_op);
if (ret)
goto out;
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index d2eab044dc6..fcaa215b578 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -1952,6 +1952,12 @@ glusterd_volume_start_glusterfs (glusterd_volinfo_t *volinfo,
bind_address);
}
+ if (volinfo->transport_type == GF_TRANSPORT_RDMA)
+ runner_argprintf (&runner, "--volfile-server-transport=rdma");
+ else if (volinfo->transport_type == GF_TRANSPORT_BOTH_TCP_RDMA)
+ runner_argprintf (&runner,
+ "--volfile-server-transport=socket,rdma");
+
if (volinfo->memory_accounting)
runner_add_arg (&runner, "--mem-accounting");
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
index b55275308e2..cb5d6f832f6 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
@@ -2342,12 +2342,13 @@ int
glusterd_clearlocks_get_local_client_ports (glusterd_volinfo_t *volinfo,
char **xl_opts)
{
- glusterd_brickinfo_t *brickinfo = NULL;
- glusterd_conf_t *priv = NULL;
- int index = 0;
- int ret = -1;
- int i = 0;
- int port = 0;
+ glusterd_brickinfo_t *brickinfo = NULL;
+ glusterd_conf_t *priv = NULL;
+ char brickname[PATH_MAX] = {0,};
+ int index = 0;
+ int ret = -1;
+ int i = 0;
+ int port = 0;
GF_ASSERT (xl_opts);
if (!xl_opts) {
@@ -2364,7 +2365,14 @@ glusterd_clearlocks_get_local_client_ports (glusterd_volinfo_t *volinfo,
if (uuid_compare (brickinfo->uuid, MY_UUID))
continue;
- port = pmap_registry_search (THIS, brickinfo->path,
+ if (volinfo->transport_type == GF_TRANSPORT_RDMA) {
+ snprintf (brickname, sizeof(brickname), "%s.rdma",
+ brickinfo->path);
+ } else
+ snprintf (brickname, sizeof(brickname), "%s",
+ brickinfo->path);
+
+ port = pmap_registry_search (THIS, brickname,
GF_PMAP_PORT_BRICKSERVER);
if (!port) {
ret = -1;