From f51252fa0d89556542fdfd190e8a94b28b013c36 Mon Sep 17 00:00:00 2001 From: Raghavendra G Date: Wed, 18 Aug 2010 14:23:02 +0000 Subject: rpcsvc: check for listener on default port used by mgmt (6969) while registering programs. - If programs have not provided a default port, rpcsvc tries to allocate a listener bound to default port. While registering programs, if programs have not given any port information, programs will be associated with either default listener or the one provided in options provided during rpcsvc_init, with latter given more precedence. Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati BUG: 875 (Implement a new protocol to provide proper backward/forward compatibility) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=875 --- rpc/rpc-lib/src/rpcsvc.c | 5 +++++ xlators/mgmt/glusterd/src/glusterd.c | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/rpc/rpc-lib/src/rpcsvc.c b/rpc/rpc-lib/src/rpcsvc.c index e12403e20..c4c9fcaa2 100644 --- a/rpc/rpc-lib/src/rpcsvc.c +++ b/rpc/rpc-lib/src/rpcsvc.c @@ -1704,6 +1704,10 @@ rpcsvc_program_register (rpcsvc_t *svc, rpcsvc_program_t program) } listener = rpcsvc_get_listener (svc, listen_port, NULL); + if ((listener == NULL) && (listen_port == RPCSVC_DEFAULT_LISTEN_PORT)) { + listener = rpcsvc_get_listener (svc, 6969, NULL); + } + if ((listener == NULL) || (listener->trans == NULL)) { if ((listener != NULL) && (listener->trans == NULL)) { gf_log (GF_RPCSVC, GF_LOG_DEBUG, @@ -1741,6 +1745,7 @@ rpcsvc_program_register (rpcsvc_t *svc, rpcsvc_program_t program) listener = rpcsvc_create_listener (svc, program.options, program.progname); if (listener == NULL) { + ret = -1; gf_log (GF_RPCSVC, GF_LOG_DEBUG, "creation of listener for program (%s) failed", program.progname); diff --git a/xlators/mgmt/glusterd/src/glusterd.c b/xlators/mgmt/glusterd/src/glusterd.c index 1997a31e5..a9f790bd3 100644 --- a/xlators/mgmt/glusterd/src/glusterd.c +++ b/xlators/mgmt/glusterd/src/glusterd.c @@ -148,7 +148,6 @@ glusterd_rpcsvc_notify (rpcsvc_t *rpc, void *xl, rpcsvc_event_t event, switch (event) { case RPCSVC_EVENT_ACCEPT: { - xprt->mydata = this; break; } case RPCSVC_EVENT_DISCONNECT: -- cgit