diff options
author | Kaushik BV <kaushikbv@gluster.com> | 2011-04-13 22:14:37 +0000 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-04-14 01:00:55 -0700 |
commit | 93cb168fb362c7aea3c10371574a5c5566bb0222 (patch) | |
tree | 44f7fd323980d3c073498c81be34ddc6f739b0ef /rpc | |
parent | 77cd50a12887b13db4c49be6a979a5ecb8239570 (diff) |
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 <kaushikbv@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 2536 (gsync service introspection)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2536
Diffstat (limited to 'rpc')
-rw-r--r-- | rpc/xdr/src/cli1-xdr.c | 3 | ||||
-rw-r--r-- | rpc/xdr/src/cli1-xdr.h | 9 | ||||
-rw-r--r-- | rpc/xdr/src/cli1-xdr.x | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/rpc/xdr/src/cli1-xdr.c b/rpc/xdr/src/cli1-xdr.c index fa24ad90b..f1594eb96 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 dba583492..2002a3ae4 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 035927f89..fc38cf7b2 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 { |