diff options
author | Raghavendra G <raghavendra@gluster.com> | 2010-08-23 01:42:47 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-08-23 00:23:47 -0700 |
commit | 436f2b329f41f28a65fc4898df5435f154bd6027 (patch) | |
tree | f37178a4d0104d93a33ccad3e38977080b6d270c /xlators | |
parent | 0d33cce6f7bbb71abe0086469f2f726151b0e62c (diff) |
rpcsvc: allow creation of both rdma and socket for a single server transport.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 513 (Introduce 0 copy rdma)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=513
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd.c | 13 | ||||
-rw-r--r-- | xlators/protocol/server/src/server.c | 11 |
2 files changed, 10 insertions, 14 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd.c b/xlators/mgmt/glusterd/src/glusterd.c index 15cc9cd86a0..28d500bdd75 100644 --- a/xlators/mgmt/glusterd/src/glusterd.c +++ b/xlators/mgmt/glusterd/src/glusterd.c @@ -198,7 +198,6 @@ init (xlator_t *this) char *port_str = NULL; int port_num = 0; char voldir [PATH_MAX] = {0,}; - rpcsvc_listener_t *listener = NULL; char dirname [PATH_MAX]; @@ -285,11 +284,11 @@ init (xlator_t *this) } /* - * only one listener for glusterd1_mop_prog, gluster_pmap_prog and - * gluster_handshake_prog. + * only one (atmost a pair - rdma and socket) listener for + * glusterd1_mop_prog, gluster_pmap_prog and gluster_handshake_prog. */ - listener = rpcsvc_create_listener (rpc, this->options, this->name); - if (listener == NULL) { + ret = rpcsvc_create_listeners (rpc, this->options, this->name); + if (ret < 1) { gf_log (this->name, GF_LOG_ERROR, "creation of listener failed"); goto out; @@ -345,10 +344,6 @@ init (xlator_t *this) ret = 0; out: if (ret == -1) { - if (listener != NULL) { - rpcsvc_listener_destroy (listener); - } - if (this->private != NULL) { GF_FREE (this->private); this->private = NULL; diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index 7ab3de51c18..05d69c44d2d 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -482,12 +482,11 @@ init (xlator_t *this) goto out; } - listener = rpcsvc_create_listener (conf->rpc, this->options, - this->name); - if (listener == NULL) { + ret = rpcsvc_create_listeners (conf->rpc, this->options, + this->name); + if (ret < 1) { gf_log (this->name, GF_LOG_DEBUG, "creation of listener failed"); - ret = -1; goto out; } @@ -626,7 +625,9 @@ struct xlator_dumpops dumpops = { struct volume_options options[] = { { .key = {"transport-type"}, .value = {"rpc", "rpc-over-rdma", "tcp", "socket", "ib-verbs", - "unix", "ib-sdp", "tcp/server", "ib-verbs/server"}, + "unix", "ib-sdp", "tcp/server", "ib-verbs/server", + "rdma*([ \t]),*([ \t])socket", + "socket*([ \t]),*([ \t])rdma"}, .type = GF_OPTION_TYPE_STR }, { .key = {"volume-filename.*"}, |