diff options
author | Atin Mukherjee <amukherj@redhat.com> | 2017-05-09 21:05:50 +0530 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2017-05-16 00:32:25 +0000 |
commit | 196597081a8e1feb792921d4f4e6517fd37d6538 (patch) | |
tree | 4de06a79578018563fd9d69ed080198201dffae2 /glusterfsd | |
parent | 6c809f40a1a0b500aa09ccaa597dc7d95b1e5146 (diff) |
glusterfsd: send PARENT_UP on brick attach
With brick multiplexing being enabled, if a brick is instance attached to a
process then a PARENT_UP event is needed so that it reaches right till
posix layer and then from posix CHILD_UP event is sent back to all the
children.
>Reviewed-on: https://review.gluster.org/17225
>NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
>Smoke: Gluster Build System <jenkins@build.gluster.org>
>CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
>Reviewed-by: Jeff Darcy <jeff@pl.atyp.us>
>(cherry picked from commit 86ad032949cb80b6ba3df9dc8268243529d4eb84)
Change-Id: Ic341086adb3bbbde0342af518e1b273dd2f669b9
BUG: 1450729
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: https://review.gluster.org/17289
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Diffstat (limited to 'glusterfsd')
-rw-r--r-- | glusterfsd/src/glusterfsd-mgmt.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c index 6db2a0fca3f..5bc87c7afd6 100644 --- a/glusterfsd/src/glusterfsd-mgmt.c +++ b/glusterfsd/src/glusterfsd-mgmt.c @@ -827,6 +827,7 @@ glusterfs_handle_attach (rpcsvc_request_t *req) int32_t ret = -1; gd1_mgmt_brick_op_req xlator_req = {0,}; xlator_t *this = NULL; + glusterfs_graph_t *newgraph = NULL; GF_ASSERT (req); this = THIS; @@ -840,13 +841,22 @@ glusterfs_handle_attach (rpcsvc_request_t *req) req->rpc_err = GARBAGE_ARGS; return -1; } + ret = 0; if (this->ctx->active) { gf_log (this->name, GF_LOG_INFO, "got attach for %s", xlator_req.name); ret = glusterfs_graph_attach (this->ctx->active, - xlator_req.name); + xlator_req.name, &newgraph); if (ret == 0) { + ret = glusterfs_graph_parent_up (newgraph); + if (ret) { + gf_msg (this->name, GF_LOG_ERROR, 0, + LG_MSG_EVENT_NOTIFY_FAILED, + "Parent up notification " + "failed"); + goto out; + } glusterfs_autoscale_threads (this->ctx, 1); } } else { @@ -857,10 +867,11 @@ glusterfs_handle_attach (rpcsvc_request_t *req) glusterfs_translator_info_response_send (req, ret, NULL, NULL); +out: free (xlator_req.input.input_val); free (xlator_req.name); - return 0; + return ret; } int |