summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr-common.c
diff options
context:
space:
mode:
authorPranith K <pranithk@gluster.com>2011-07-14 06:31:08 +0000
committerAnand Avati <avati@gluster.com>2011-07-17 07:45:29 -0700
commit5dff9a2938c199285662bb5b33d7e3aeda0e3fb6 (patch)
tree20af21a206a8ed7937101005cbb4b9128b5c48fd /xlators/cluster/afr/src/afr-common.c
parent84c3d7a83a8c84ca11514202a1bc365026fd1c87 (diff)
cluster/afr: Fix conflict files and gfid self-heal
Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2745 (failure to detect split brain) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2745
Diffstat (limited to 'xlators/cluster/afr/src/afr-common.c')
-rw-r--r--xlators/cluster/afr/src/afr-common.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index 894442936b5..d6b358e2be5 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -1357,6 +1357,11 @@ afr_post_gfid_sh_success (call_frame_t *sh_frame, xlator_t *this)
priv->child_count * sizeof (*sh->parentbufs));
afr_reset_xattr (local->cont.lookup.xattrs, priv->child_count);
+ if (local->cont.lookup.xattr) {
+ dict_unref (local->cont.lookup.xattr);
+ local->cont.lookup.xattr = NULL;
+ }
+
for (i = 0; i < priv->child_count; i++) {
if (sh->xattr[i])
local->cont.lookup.xattrs[i] = dict_ref (sh->xattr[i]);