From 8668da9744df57f7b8929e4b54842a99899a63c5 Mon Sep 17 00:00:00 2001 From: Raghavendra Bhat Date: Fri, 4 Nov 2011 19:49:55 +0530 Subject: cluster/afr: unwind instead of returning directly if no open is required on any child Currently if no open is required on any child of replicate, we are returning directly instead of unwinding and returning. This is leading to the frame loss, which results in application hang. Unwind and then return if no open is to be done on any child. Change-Id: Ib59535b63751d9e98a4ceca39b4b73b14d850680 BUG: 3443 Reviewed-on: http://review.gluster.com/674 Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- xlators/cluster/afr/src/afr-open.c | 1 + 1 file changed, 1 insertion(+) diff --git a/xlators/cluster/afr/src/afr-open.c b/xlators/cluster/afr/src/afr-open.c index 41db67d7f..241d4539c 100644 --- a/xlators/cluster/afr/src/afr-open.c +++ b/xlators/cluster/afr/src/afr-open.c @@ -616,6 +616,7 @@ afr_openfd_flush (call_frame_t *frame, xlator_t *this, fd_t *fd) UNLOCK (&local->fd->lock); if (call_count == 0) { + no_open = 1; goto out; } -- cgit