summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr-self-heal-common.c
diff options
context:
space:
mode:
authorPranith Kumar K <pranithk@gluster.com>2012-04-18 11:44:21 +0530
committerAnand Avati <avati@redhat.com>2012-04-18 22:26:46 -0700
commit6ff8c16cbaa23e209d270d2d559a6072e554e68f (patch)
treeb88aea464355e857873e10eb4630cdacdd0dd6fd /xlators/cluster/afr/src/afr-self-heal-common.c
parentfb9f485db2b4a92c16c0683cf3d5cfcd07054d71 (diff)
cluster/afr: Build parent loc for expunge
Change-Id: Ifd1a4117924a7f9a90eb8e02dd2d655f2156fabd BUG: 765551 Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Reviewed-on: http://review.gluster.com/3178 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr-self-heal-common.c')
-rw-r--r--xlators/cluster/afr/src/afr-self-heal-common.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal-common.c b/xlators/cluster/afr/src/afr-self-heal-common.c
index af5aadc3c96..5e961a39a8a 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);