From 93cb168fb362c7aea3c10371574a5c5566bb0222 Mon Sep 17 00:00:00 2001 From: Kaushik BV Date: Wed, 13 Apr 2011 22:14:37 +0000 Subject: mgmt/glusterd: Implementation of volume gsync status [master [slave]] Changes made in the path of gsync start/stop as well, where we maintain a list of active gsync sessions, hence gsync stop could be executed at all nodes. A new dict in glusterd_volinfo_t added to maintain an active list of gsync slaves running on each master. Signed-off-by: Kaushik BV Signed-off-by: Anand Avati BUG: 2536 (gsync service introspection) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2536 --- rpc/xdr/src/cli1-xdr.c | 3 +++ rpc/xdr/src/cli1-xdr.h | 9 +++++++++ rpc/xdr/src/cli1-xdr.x | 1 + 3 files changed, 13 insertions(+) (limited to 'rpc') diff --git a/rpc/xdr/src/cli1-xdr.c b/rpc/xdr/src/cli1-xdr.c index fa24ad90bbb..f1594eb9662 100644 --- a/rpc/xdr/src/cli1-xdr.c +++ b/rpc/xdr/src/cli1-xdr.c @@ -761,6 +761,9 @@ xdr_gf1_cli_gsync_set_rsp (XDR *xdrs, gf1_cli_gsync_set_rsp *objp) return FALSE; if (!xdr_string (xdrs, &objp->glusterd_workdir, ~0)) return FALSE; + if (!xdr_bytes (xdrs, (char **)&objp->status_dict.status_dict_val, + (u_int *) &objp->status_dict.status_dict_len, ~0)) + return FALSE; return TRUE; } diff --git a/rpc/xdr/src/cli1-xdr.h b/rpc/xdr/src/cli1-xdr.h index dba58349296..2002a3ae473 100644 --- a/rpc/xdr/src/cli1-xdr.h +++ b/rpc/xdr/src/cli1-xdr.h @@ -92,6 +92,11 @@ enum gf1_cli_gsync_set { GF_GSYNC_OPTION_TYPE_CONFIG_DEL = 5, GF_GSYNC_OPTION_TYPE_CONFIG_GET = 6, GF_GSYNC_OPTION_TYPE_CONFIG_GET_ALL = 7, + GF_GSYNC_OPTION_TYPE_STATUS = 8, + GF_GSYNC_OPTION_TYPE_STATUS_ALL = 9, + GF_GSYNC_OPTION_TYPE_STATUS_MASTER = 10, + GF_GSYNC_OPTION_TYPE_STATUS_MST_SLV = 11 + }; typedef enum gf1_cli_gsync_set gf1_cli_gsync_set; @@ -482,6 +487,10 @@ struct gf1_cli_gsync_set_rsp { char *slave; char *gsync_prefix; char *glusterd_workdir; + struct { + u_int status_dict_len; + char *status_dict_val; + } status_dict; }; typedef struct gf1_cli_gsync_set_rsp gf1_cli_gsync_set_rsp; diff --git a/rpc/xdr/src/cli1-xdr.x b/rpc/xdr/src/cli1-xdr.x index 035927f89e4..fc38cf7b252 100644 --- a/rpc/xdr/src/cli1-xdr.x +++ b/rpc/xdr/src/cli1-xdr.x @@ -347,6 +347,7 @@ struct gf1_cli_gsync_set_rsp { string slave<>; string gsync_prefix<>; string glusterd_workdir<>; + opaque status_dict<>; }; struct gf1_cli_stats_volume_req { -- cgit