path: root/xlators/cluster/afr/src/afr-self-heal.h
diff options
authorRavishankar N <>2018-09-28 17:00:00 +0530
committerPranith Kumar Karampuri <>2018-12-03 06:44:19 +0000
commit4d58730c0cd6ab5db39aec8a15276f7bd3371b04 (patch)
tree9991e615677cc9d9db0b13cebf97442fe42e02fd /xlators/cluster/afr/src/afr-self-heal.h
parent4364093869f59ed2af3f7d10d5a72df490eac9a9 (diff)
afr: assign gfid during name heal when no 'source' is present.
Problem: If parent dir is in split-brain or has dirty xattrs set, and the file has gfid missing on one of the bricks, then name heal won't assign the gfid. Fix: Use the brick we select the gfid from as the 'source'. Note: Problem was found while trying to debug a split-brain issue on Cynthia Zhou's setup. updates: bz#1637249 Change-Id: Id088d4f0fb017aa35122de426654194e581ed742 Reported-by: Cynthia Zhou <> Signed-off-by: Ravishankar N <>
Diffstat (limited to 'xlators/cluster/afr/src/afr-self-heal.h')
1 files changed, 1 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal.h b/xlators/cluster/afr/src/afr-self-heal.h
index 9c7418c7169..41adbe05dc8 100644
--- a/xlators/cluster/afr/src/afr-self-heal.h
+++ b/xlators/cluster/afr/src/afr-self-heal.h
@@ -119,7 +119,7 @@ afr_selfheal_entry(call_frame_t *frame, xlator_t *this, inode_t *inode);
afr_lookup_and_heal_gfid(xlator_t *this, inode_t *parent, const char *name,
inode_t *inode, struct afr_reply *replies, int source,
- unsigned char *sources, void *gfid);
+ unsigned char *sources, void *gfid, int *gfid_idx);
afr_selfheal_inodelk(call_frame_t *frame, xlator_t *this, inode_t *inode,