summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-handler.c6
-rw-r--r--xlators/mgmt/glusterd/src/glusterd3_1-mops.c9
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 102cc01..715f3c8 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 6adec5d..07820a3 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;