From 77a7250b16c119e20c2d5c66a80b559455953a47 Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Sun, 29 Nov 2009 07:37:32 +0000 Subject: afr: handle fdctx->pre_op_done handling reset pre_op_done[i] to 0 after issuing a postop in flush. this was missed during the introduction of pre_op_done[] array and was resulting in a lot of spurious self heals when spurious flushes were received Signed-off-by: Anand V. Avati Signed-off-by: Anand V. Avati BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170 --- xlators/cluster/afr/src/afr-transaction.c | 1 + 1 file changed, 1 insertion(+) (limited to 'xlators/cluster/afr') diff --git a/xlators/cluster/afr/src/afr-transaction.c b/xlators/cluster/afr/src/afr-transaction.c index e88356bb60d..06e8931f2da 100644 --- a/xlators/cluster/afr/src/afr-transaction.c +++ b/xlators/cluster/afr/src/afr-transaction.c @@ -255,6 +255,7 @@ __if_fd_pre_op_done (xlator_t *this, fd_t *fd, int child_index) if (fd_ctx->pre_op_done[child_index]) { op_ret = 1; } + fd_ctx->pre_op_done[child_index] = 0; } out: UNLOCK (&fd->lock); -- cgit