diff options
Diffstat (limited to 'xlators/mgmt/glusterd')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handler.c | 6 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd3_1-mops.c | 9 |
2 files changed, 10 insertions, 5 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index 102cc01c98f..715f3c800dd 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -2383,7 +2383,7 @@ glusterd_handle_probe_query (rpcsvc_request_t *req) GF_ASSERT (0); goto out; } - ret = glusterd_friend_find (NULL, remote_hostname, &peerinfo); + ret = glusterd_friend_find (probe_req.uuid, remote_hostname, &peerinfo); if ((ret == 0 ) || list_empty (&conf->peers)) { ret = glusterd_peer_hostname_new (probe_req.hostname, &name); @@ -2392,12 +2392,14 @@ glusterd_handle_probe_query (rpcsvc_request_t *req) } else { list_add_tail (&name->hostname_list, &conf->hostnames); } - uuid_copy (rsp.uuid, conf->uuid); + } else { rsp.op_ret = -1; rsp.op_errno = GF_PROBE_ANOTHER_CLUSTER; } + uuid_copy (rsp.uuid, conf->uuid); + rsp.hostname = probe_req.hostname; ret = glusterd_submit_reply (req, &rsp, NULL, 0, NULL, diff --git a/xlators/mgmt/glusterd/src/glusterd3_1-mops.c b/xlators/mgmt/glusterd/src/glusterd3_1-mops.c index 6adec5dfe62..07820a369ab 100644 --- a/xlators/mgmt/glusterd/src/glusterd3_1-mops.c +++ b/xlators/mgmt/glusterd/src/glusterd3_1-mops.c @@ -86,9 +86,12 @@ glusterd3_1_probe_cbk (struct rpc_req *req, struct iovec *iov, GF_ASSERT (ctx); - glusterd_xfer_cli_probe_resp (ctx->req, rsp.op_ret, - rsp.op_errno, - ctx->hostname, ctx->port); + if (ctx->req) { + glusterd_xfer_cli_probe_resp (ctx->req, rsp.op_ret, + rsp.op_errno, + ctx->hostname, ctx->port); + } + ret = rsp.op_ret; (void) glusterd_friend_remove (rsp.uuid, rsp.hostname); goto out; |