summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr
diff options
context:
space:
mode:
authorAnand Avati <avati@gluster.com>2009-11-29 07:37:32 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-11-29 05:32:58 -0800
commit77a7250b16c119e20c2d5c66a80b559455953a47 (patch)
tree990f8956dd9b26891081c0666345a37ff7e20a45 /xlators/cluster/afr
parent51600217be80dc9e1b1ad8bf20b7e5a95d31ec1c (diff)
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 <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> 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
Diffstat (limited to 'xlators/cluster/afr')
-rw-r--r--xlators/cluster/afr/src/afr-transaction.c1
1 files changed, 1 insertions, 0 deletions
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);