From bb592b1a8465fa078d0cd5f445f08280b78a93e4 Mon Sep 17 00:00:00 2001 From: "Anand V. Avati" Date: Thu, 23 Apr 2009 02:18:52 +0530 Subject: fix in afr directory self-heal (partial healing) impunge loop was 'continued' on a different subvolume in certain cases, resulting in healing of partial files --- xlators/cluster/afr/src/afr-self-heal-entry.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xlators/cluster/afr/src/afr-self-heal-entry.c b/xlators/cluster/afr/src/afr-self-heal-entry.c index 70edd5babad..422e4d72cf1 100644 --- a/xlators/cluster/afr/src/afr-self-heal-entry.c +++ b/xlators/cluster/afr/src/afr-self-heal-entry.c @@ -911,6 +911,8 @@ afr_sh_entry_impunge_utimens_cbk (call_frame_t *impunge_frame, void *cookie, afr_local_t *impunge_local = NULL; afr_self_heal_t *impunge_sh = NULL; call_frame_t *frame = NULL; + afr_local_t *local = NULL; + afr_self_heal_t *sh = NULL; int active_src = 0; int child_index = 0; @@ -918,6 +920,9 @@ afr_sh_entry_impunge_utimens_cbk (call_frame_t *impunge_frame, void *cookie, impunge_local = impunge_frame->local; impunge_sh = &impunge_local->self_heal; frame = impunge_sh->sh_frame; + local = frame->local; + sh = &local->self_heal; + active_src = sh->active_source; child_index = (long) cookie; if (op_ret == 0) { -- cgit