summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr-self-heal.h
diff options
context:
space:
mode:
authorRavishankar N <ravishankar@redhat.com>2018-06-14 12:59:06 +0530
committerShyamsundar Ranganathan <srangana@redhat.com>2018-07-09 15:18:31 +0000
commit6e4ca3168696fd85fec5a4ad29ecdbee4d2b2101 (patch)
tree868c778d4dbfdaabb1c235888e7384df22ece98d /xlators/cluster/afr/src/afr-self-heal.h
parent16e35706aafbcd710136a33a51881d7ffb2471ca (diff)
afr: heal gfids when file is not present on all bricks
commit 20fa80057eb430fd72b4fa31b9b65598b8ec1265 introduced a regression wherein if a file is present in only 1 brick of replica *and* doesn't have a gfid associated with it, it doesn't get healed upon the next lookup from the client. Fix it. Change-Id: I7d1111dcb45b1b8b8340a7d02558f05df70aa599 fixes: bz#1597117 Signed-off-by: Ravishankar N <ravishankar@redhat.com> (cherry picked from commit eb472d82a083883335bc494b87ea175ac43471ff)
Diffstat (limited to 'xlators/cluster/afr/src/afr-self-heal.h')
-rw-r--r--xlators/cluster/afr/src/afr-self-heal.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal.h b/xlators/cluster/afr/src/afr-self-heal.h
index cd67d2a3192..9836e2fbc03 100644
--- a/xlators/cluster/afr/src/afr-self-heal.h
+++ b/xlators/cluster/afr/src/afr-self-heal.h
@@ -113,7 +113,7 @@ afr_selfheal_entry (call_frame_t *frame, xlator_t *this, inode_t *inode);
int
afr_lookup_and_heal_gfid (xlator_t *this, inode_t *parent, const char *name,
inode_t *inode, struct afr_reply *replies, int source,
- void *gfid);
+ unsigned char *sources, void *gfid);
int
afr_selfheal_inodelk (call_frame_t *frame, xlator_t *this, inode_t *inode,
@@ -353,4 +353,8 @@ afr_mark_source_sinks_if_file_empty (xlator_t *this, unsigned char *sources,
struct afr_reply *replies,
afr_transaction_type type);
+gf_boolean_t
+afr_is_file_empty_on_all_children (afr_private_t *priv,
+ struct afr_reply *replies);
+
#endif /* !_AFR_SELFHEAL_H */