summaryrefslogtreecommitdiffstats
path: root/xlators/protocol
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2009-03-02 15:47:37 -0800
committerAnand V. Avati <avati@amp.gluster.com>2009-03-03 11:58:03 +0530
commit5ed5ea9bffe018512edc6babff18fd4d44bcdd70 (patch)
tree6520121a74b98cb51076453a6945ee2a692e6598 /xlators/protocol
parent130ae0dee7f1ed1292c32df52276833a9fa187b2 (diff)
create fuse thread after setvolume cbk happens, not only in case of success
This patch fixes the 'hang' effect when client protocol fails to authenticate to servers (it may be problem with volume file, or server process would have not started yet). Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
Diffstat (limited to 'xlators/protocol')
-rw-r--r--xlators/protocol/client/src/client-protocol.c27
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;