diff options
Diffstat (limited to 'xlators/protocol')
-rw-r--r-- | xlators/protocol/client/src/client-protocol.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/xlators/protocol/client/src/client-protocol.c b/xlators/protocol/client/src/client-protocol.c index 11e66983324..5212d67c6e6 100644 --- a/xlators/protocol/client/src/client-protocol.c +++ b/xlators/protocol/client/src/client-protocol.c @@ -5956,6 +5956,20 @@ client_setvolume_cbk (call_frame_t *frame, } out: + if (-1 == op_ret) { + /* Let the connection/re-connection happen in + * background, for now, don't hang here, + * tell the parents that i am all ok.. + */ + parent = trans->xl->parents; + while (parent) { + parent->xlator->notify (parent->xlator, + GF_EVENT_CHILD_CONNECTING, + trans->xl); + parent = parent->next; + } + } + STACK_DESTROY (frame->root); if (reply) @@ -6608,7 +6622,6 @@ notify (xlator_t *this, case GF_EVENT_PARENT_UP: { - xlator_list_t *parent = NULL; client_conf_t *conf = NULL; int i = 0; transport_t *trans = NULL; @@ -6630,18 +6643,6 @@ notify (xlator_t *this, client_protocol_reconnect (trans); } - - /* Let the connection/re-connection happen in - * background, for now, don't hang here, - * tell the parents that i am all ok.. - */ - parent = trans->xl->parents; - while (parent) { - parent->xlator->notify (parent->xlator, - GF_EVENT_CHILD_CONNECTING, - trans->xl); - parent = parent->next; - } } break; |