diff options
| author | Krutika Dhananjay <kdhananj@redhat.com> | 2013-05-16 10:43:54 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2013-05-16 08:31:14 -0700 | 
| commit | db18b17c88c1976f9e523c4c6712c7e444927cc4 (patch) | |
| tree | dba3e56f24f6880e5ddb059157d5024eda67339c | |
| parent | f8d77623ff49ebc60686dcb17978175e861b6634 (diff) | |
glusterd: Fix misleading log messages of the kind "Node <n> responded to <n>"
PROBLEM:
glusterd logs coming from glusterd_xfer_friend_add_resp() (wrongly)
indicate that a node responded to itself, although it actually
responded to one of its peers.
FIX:
Make glusterd_xfer_friend_add_resp() distinguish between remote host
and self and print the appropriate hostname.
Change-Id: I2a504eeb058c08a0d378443888eb6f1dc7edc76f
BUG: 963537
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/5017
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handler.c | 15 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-sm.c | 3 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd.h | 5 | 
3 files changed, 13 insertions, 10 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index e21b67e6d..b6aaffcd1 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -99,8 +99,8 @@ glusterd_handle_friend_req (rpcsvc_request_t *req, uuid_t  uuid,          ret = glusterd_friend_find (uuid, rhost, &peerinfo);          if (ret) { -                ret = glusterd_xfer_friend_add_resp (req, rhost, port, -1, -                                                     GF_PROBE_UNKNOWN_PEER); +                ret = glusterd_xfer_friend_add_resp (req, hostname, rhost, port, +                                                     -1, GF_PROBE_UNKNOWN_PEER);                  if (friend_req->vols.vols_val) {                          free (friend_req->vols.vols_val);                          friend_req->vols.vols_val = NULL; @@ -2863,15 +2863,16 @@ glusterd_xfer_friend_remove_resp (rpcsvc_request_t *req, char *hostname, int por  int -glusterd_xfer_friend_add_resp (rpcsvc_request_t *req, char *hostname, int port, -                               int32_t op_ret, int32_t op_errno) +glusterd_xfer_friend_add_resp (rpcsvc_request_t *req, char *myhostname, +                               char *remote_hostname, int port, int32_t op_ret, +                               int32_t op_errno)  {          gd1_mgmt_friend_rsp  rsp = {{0}, };          int32_t              ret = -1;          xlator_t             *this = NULL;          glusterd_conf_t      *conf = NULL; -        GF_ASSERT (hostname); +        GF_ASSERT (myhostname);          this = THIS;          GF_ASSERT (this); @@ -2881,14 +2882,14 @@ glusterd_xfer_friend_add_resp (rpcsvc_request_t *req, char *hostname, int port,          uuid_copy (rsp.uuid, MY_UUID);          rsp.op_ret = op_ret;          rsp.op_errno = op_errno; -        rsp.hostname = gf_strdup (hostname); +        rsp.hostname = gf_strdup (myhostname);          rsp.port = port;          ret = glusterd_submit_reply (req, &rsp, NULL, 0, NULL,                                       (xdrproc_t)xdr_gd1_mgmt_friend_rsp);          gf_log ("glusterd", GF_LOG_INFO, -                "Responded to %s (%d), ret: %d", hostname, port, ret); +                "Responded to %s (%d), ret: %d", remote_hostname, port, ret);          GF_FREE (rsp.hostname);          return ret;  } diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.c b/xlators/mgmt/glusterd/src/glusterd-sm.c index ba36b7f45..86ce86a3e 100644 --- a/xlators/mgmt/glusterd/src/glusterd-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-sm.c @@ -688,7 +688,8 @@ glusterd_ac_handle_friend_add_req (glusterd_friend_sm_event_t *event, void *ctx)          glusterd_friend_sm_inject_event (new_event);          ret = glusterd_xfer_friend_add_resp (ev_ctx->req, ev_ctx->hostname, -                                             ev_ctx->port, op_ret, op_errno); +                                             peerinfo->hostname, ev_ctx->port, +                                             op_ret, op_errno);  out:          gf_log ("", GF_LOG_DEBUG, "Returning with %d", ret); diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h index 9271a8543..b466ac20c 100644 --- a/xlators/mgmt/glusterd/src/glusterd.h +++ b/xlators/mgmt/glusterd/src/glusterd.h @@ -449,8 +449,9 @@ int  glusterd_probe_begin (rpcsvc_request_t *req, const char *hoststr, int port);  int -glusterd_xfer_friend_add_resp (rpcsvc_request_t *req, char *hostname, -                               int port, int32_t op_ret, int32_t op_errno); +glusterd_xfer_friend_add_resp (rpcsvc_request_t *req, char *myhostname, +                               char *remote_hostname, int port, int32_t op_ret, +                               int32_t op_errno);  int  glusterd_friend_find (uuid_t uuid, char *hostname,  | 
