diff options
| author | Kaushal M <kaushal@redhat.com> | 2012-08-29 14:43:30 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2012-09-01 11:53:36 -0700 | 
| commit | fad24c87cef0cc40c661614cd1cf1ab936311dcb (patch) | |
| tree | c66a04af61efa21767de4cbeab705e8203234234 | |
| parent | b10eea2c44272bf491b670466430f4a6d1ac364b (diff) | |
cli, glusterd: Changes to 'peer status' xml output
Glusterd now returns the status of a peer as both a string and a number.
The xml output for peer status has been modified, such that the <status> element
now contains the status number and a new <statusStr> element contains the status
string.
Change-Id: I0d4b74b84a991893d1029b8408d66ff078bbd254
BUG: 847760
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/3868
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| -rw-r--r-- | cli/src/cli-xml-output.c | 20 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handler.c | 5 | 
2 files changed, 21 insertions, 4 deletions
diff --git a/cli/src/cli-xml-output.c b/cli/src/cli-xml-output.c index 4459a283bc2..eebcafb9716 100644 --- a/cli/src/cli-xml-output.c +++ b/cli/src/cli-xml-output.c @@ -2500,7 +2500,8 @@ cli_xml_output_peer_status (dict_t *dict, int op_ret, int op_errno,          char                    *uuid = NULL;          char                    *hostname = NULL;          int                     connected = 0; -        char                    *state = NULL; +        int                     state_id = 0; +        char                    *state_str = NULL;          int                     port = 0;          int                     i = 1;          char                    key[1024] = {0,}; @@ -2563,14 +2564,25 @@ cli_xml_output_peer_status (dict_t *dict, int op_ret, int op_errno,                  XML_RET_CHECK_AND_GOTO (ret, out);                  memset (key, 0, sizeof (key)); -                snprintf (key, sizeof (key), "friend%d.state", i); -                ret = dict_get_str (dict, key, &state); +                snprintf (key, sizeof (key), "friend%d.stateId", i); +                ret = dict_get_int32 (dict, key, &state_id);                  if (ret)                          goto out;                  ret = xmlTextWriterWriteFormatElement (writer,                                                         (xmlChar *)"state", -                                                       "%s", state); +                                                       "%d", state_id); +                XML_RET_CHECK_AND_GOTO (ret, out); + +                memset (key, 0, sizeof (key)); +                snprintf (key, sizeof (key), "friend%d.state", i); +                ret = dict_get_str (dict, key, &state_str); +                if (ret) +                        goto out; + +                ret = xmlTextWriterWriteFormatElement (writer, +                                                       (xmlChar *)"stateStr", +                                                       "%s", state_str);                  XML_RET_CHECK_AND_GOTO (ret, out);                  memset (key, 0, sizeof (key)); diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index 9f6659bda75..8804176dcc6 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -247,6 +247,11 @@ glusterd_add_peer_detail_to_dict (glusterd_peerinfo_t   *peerinfo,          if (ret)                  goto out; +        snprintf (key, 256, "friend%d.stateId", count); +        ret = dict_set_int32 (friends, key, peerinfo->state.state); +        if (ret) +                goto out; +          snprintf (key, 256, "friend%d.state", count);          ret = dict_set_str (friends, key,                      glusterd_friend_sm_state_name_get(peerinfo->state.state));  | 
