From 6ff8c16cbaa23e209d270d2d559a6072e554e68f Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Wed, 18 Apr 2012 11:44:21 +0530 Subject: cluster/afr: Build parent loc for expunge Change-Id: Ifd1a4117924a7f9a90eb8e02dd2d655f2156fabd BUG: 765551 Signed-off-by: Pranith Kumar K Reviewed-on: http://review.gluster.com/3178 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- xlators/cluster/afr/src/afr-self-heal-common.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xlators/cluster/afr/src/afr-self-heal-common.c b/xlators/cluster/afr/src/afr-self-heal-common.c index af5aadc3c..5e961a39a 100644 --- a/xlators/cluster/afr/src/afr-self-heal-common.c +++ b/xlators/cluster/afr/src/afr-self-heal-common.c @@ -1363,6 +1363,7 @@ afr_sh_call_entry_expunge_remove (call_frame_t *frame, xlator_t *this, afr_self_heal_t *sh = NULL; afr_self_heal_t *expunge_sh = NULL; int32_t op_errno = 0; + int ret = 0; expunge_frame = copy_frame (frame); if (!expunge_frame) { @@ -1377,6 +1378,12 @@ afr_sh_call_entry_expunge_remove (call_frame_t *frame, xlator_t *this, expunge_sh = &expunge_local->self_heal; expunge_sh->sh_frame = frame; loc_copy (&expunge_local->loc, &local->loc); + ret = afr_build_parent_loc (&expunge_sh->parent_loc, + &expunge_local->loc, &op_errno); + if (ret) { + ret = -op_errno; + goto out; + } sh->expunge_done = expunge_done; afr_sh_entry_expunge_remove (expunge_frame, this, child_index, buf, parentbuf); -- cgit