summaryrefslogtreecommitdiffstats
path: root/rpc
diff options
context:
space:
mode:
authorKaushik BV <kaushikbv@gluster.com>2011-04-13 22:14:37 +0000
committerAnand Avati <avati@gluster.com>2011-04-14 01:00:55 -0700
commit93cb168fb362c7aea3c10371574a5c5566bb0222 (patch)
tree44f7fd323980d3c073498c81be34ddc6f739b0ef /rpc
parent77cd50a12887b13db4c49be6a979a5ecb8239570 (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.c3
-rw-r--r--rpc/xdr/src/cli1-xdr.h9
-rw-r--r--rpc/xdr/src/cli1-xdr.x1
3 files changed, 13 insertions, 0 deletions
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 {