summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd.c b/xlators/mgmt/glusterd/src/glusterd.c
index 50092f987..675713585 100644
--- a/xlators/mgmt/glusterd/src/glusterd.c
+++ b/xlators/mgmt/glusterd/src/glusterd.c
@@ -48,6 +48,8 @@
static uuid_t glusterd_uuid;
extern struct rpcsvc_program glusterd1_mop_prog;
+extern struct rpcsvc_program gd_svc_mgmt_prog;
+extern struct rpcsvc_program gd_svc_cli_prog;
extern struct rpcsvc_program gluster_handshake_prog;
extern struct rpcsvc_program gluster_pmap_prog;
extern glusterd_op_info_t opinfo;
@@ -352,16 +354,33 @@ init (xlator_t *this)
goto out;
}
+ ret = glusterd_program_register (this, rpc, &gd_svc_cli_prog);
+ if (ret) {
+ rpcsvc_program_unregister (rpc, &glusterd1_mop_prog);
+ goto out;
+ }
+
+ ret = glusterd_program_register (this, rpc, &gd_svc_mgmt_prog);
+ if (ret) {
+ rpcsvc_program_unregister (rpc, &glusterd1_mop_prog);
+ rpcsvc_program_unregister (rpc, &gd_svc_cli_prog);
+ goto out;
+ }
+
ret = glusterd_program_register (this, rpc, &gluster_pmap_prog);
if (ret) {
rpcsvc_program_unregister (rpc, &glusterd1_mop_prog);
+ rpcsvc_program_unregister (rpc, &gd_svc_cli_prog);
+ rpcsvc_program_unregister (rpc, &gd_svc_mgmt_prog);
goto out;
}
ret = glusterd_program_register (this, rpc, &gluster_handshake_prog);
if (ret) {
rpcsvc_program_unregister (rpc, &glusterd1_mop_prog);
- rpcsvc_program_unregister (rpc, &gluster_handshake_prog);
+ rpcsvc_program_unregister (rpc, &gluster_pmap_prog);
+ rpcsvc_program_unregister (rpc, &gd_svc_cli_prog);
+ rpcsvc_program_unregister (rpc, &gd_svc_mgmt_prog);
goto out;
}