From 1b7a997a7b368aa459dcd57ec23532fe4cdd6e0c Mon Sep 17 00:00:00 2001 From: Pranith K Date: Sat, 2 Oct 2010 04:12:51 +0000 Subject: mgmt/glusterd: print peer state names instead of state numbers Signed-off-by: Pranith Kumar K Signed-off-by: Vijay Bellur BUG: 1779 (print peer state names instead of state numbers) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1779 --- xlators/mgmt/glusterd/src/glusterd-handler.c | 3 ++- xlators/mgmt/glusterd/src/glusterd-sm.c | 19 +++++++++++++++++++ xlators/mgmt/glusterd/src/glusterd-sm.h | 2 ++ 3 files changed, 23 insertions(+), 1 deletion(-) (limited to 'xlators/mgmt/glusterd/src') diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index f178124bdf9..67b4ab62c1c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -271,7 +271,8 @@ glusterd_add_peer_detail_to_dict (glusterd_peerinfo_t *peerinfo, goto out; snprintf (key, 256, "friend%d.state", count); - ret = dict_set_int32 (friends, key, (int32_t)peerinfo->state.state); + ret = dict_set_str (friends, key, + glusterd_friend_sm_state_name_get(peerinfo->state.state)); if (ret) goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.c b/xlators/mgmt/glusterd/src/glusterd-sm.c index f540658c32d..fbe8430348a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-sm.c @@ -46,6 +46,25 @@ static struct list_head gd_friend_sm_queue; +static char *glusterd_friend_sm_state_names[] = { + "Establishing Connection", + "Probe Sent to Peer", + "Probe Received from Peer", + "Peer in Cluster", + "Accepted peer request", + "Sent and Received peer request", + "Peer Rejected", + "Peer detach in progress", + "Invalid State" +}; + +char* +glusterd_friend_sm_state_name_get (glusterd_friend_sm_state_t state) +{ + if (state < 0 || state >= GD_FRIEND_STATE_MAX) + return glusterd_friend_sm_state_names[GD_FRIEND_STATE_MAX]; + return glusterd_friend_sm_state_names[state]; +} void glusterd_destroy_probe_ctx (glusterd_probe_ctx_t *ctx) { diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.h b/xlators/mgmt/glusterd/src/glusterd-sm.h index 0ad89465bf4..72dca811e69 100644 --- a/xlators/mgmt/glusterd/src/glusterd-sm.h +++ b/xlators/mgmt/glusterd/src/glusterd-sm.h @@ -165,4 +165,6 @@ glusterd_destroy_probe_ctx (glusterd_probe_ctx_t *ctx); void glusterd_destroy_friend_req_ctx (glusterd_friend_req_ctx_t *ctx); +char* +glusterd_friend_sm_state_name_get (glusterd_friend_sm_state_t state); #endif -- cgit