diff options
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
| -rw-r--r-- | cli/src/cli-rpc-ops.c | 35 | 
1 files changed, 30 insertions, 5 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index f62b19da2c5..b05eab1dd4f 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -287,6 +287,7 @@ gf_cli3_1_list_friends_cbk (struct rpc_req *req, struct iovec *iov,          int32_t                    port = 0;          int32_t                    connected = 0;          char                       *connected_str = NULL; +        char                       msg[1024] = {0,};          if (-1 == req->rpc_status) {                  goto out; @@ -308,7 +309,21 @@ gf_cli3_1_list_friends_cbk (struct rpc_req *req, struct iovec *iov,          if (!rsp.op_ret) {                  if (!rsp.friends.friends_len) { -                        cli_out ("No peers present"); +                        snprintf (msg, sizeof (msg), +                                  "No peers present"); +#if (HAVE_LIB_XML) +                        if (global_state->mode & GLUSTER_MODE_XML) { +                                ret = cli_xml_output_peer_status (dict, +                                                                  rsp.op_ret, +                                                                  rsp.op_errno, +                                                                  msg); +                                if (ret) +                                        gf_log ("cli", GF_LOG_ERROR, +                                                "Error outputting to xml"); +                                goto out; +                        } +#endif +                        cli_err ("%s", msg);                          ret = 0;                          goto out;                  } @@ -332,9 +347,8 @@ gf_cli3_1_list_friends_cbk (struct rpc_req *req, struct iovec *iov,  #if (HAVE_LIB_XML)                  if (global_state->mode & GLUSTER_MODE_XML) { -                        ret = cli_xml_output_dict ("peerStatus", dict, -                                                   rsp.op_ret, rsp.op_errno, -                                                   NULL); +                        ret = cli_xml_output_peer_status (dict, rsp.op_ret, +                                                          rsp.op_errno, msg);                          if (ret)                                  gf_log ("cli", GF_LOG_ERROR,                                          "Error outputting to xml"); @@ -392,7 +406,18 @@ gf_cli3_1_list_friends_cbk (struct rpc_req *req, struct iovec *iov,                          i++;                  }          } else { -                ret = -1; +#if (HAVE_LIB_XML) +                if (global_state->mode & GLUSTER_MODE_XML) { +                        ret = cli_xml_output_peer_status (dict, rsp.op_ret, +                                                          rsp.op_errno, NULL); +                        if (ret) +                                gf_log ("cli", GF_LOG_ERROR, +                                        "Error outputting to xml"); +                } else +#endif +                { +                        ret = -1; +                }                  goto out;          }  | 
