summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht/src/dht-common.h
diff options
context:
space:
mode:
authorSusant Palai <spalai@redhat.com>2020-04-24 13:32:51 +0530
committerMOHIT AGRAWAL <moagrawa@redhat.com>2020-04-28 16:57:26 +0000
commit5a3a9afa2352043a2172615c428989c3ebd80c27 (patch)
tree6fbca7446d7add61259339adc512e4fb4eb95f3d /xlators/cluster/dht/src/dht-common.h
parent8536a9e66bd2b684f961b16ebe213cb63b060c20 (diff)
dht: Handle setxattr and rm race for directory in rebalance
Problem: Selfheal as part of directory does not return an error if the layout setxattr fails. This is because the actual lookup fop must have been successful to proceed for layout heal. Hence, we could not tell if fix-layout failed in rebalance. Solution: We can check this information in the layout structure that whether all the xlators have returned error. fixes: #1200 Change-Id: I3e5f2a36c0d934c21476a73a9a5473d8e490cde7 Signed-off-by: Susant Palai <spalai@redhat.com>
Diffstat (limited to 'xlators/cluster/dht/src/dht-common.h')
-rw-r--r--xlators/cluster/dht/src/dht-common.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h
index 8a49eefe9b4..2c90dc9951e 100644
--- a/xlators/cluster/dht/src/dht-common.h
+++ b/xlators/cluster/dht/src/dht-common.h
@@ -1481,4 +1481,7 @@ dht_create_lock(call_frame_t *frame, xlator_t *subvol);
int
dht_set_parent_layout_in_dict(loc_t *loc, xlator_t *this, dht_local_t *local);
+int
+dht_dir_layout_error_check(xlator_t *this, inode_t *inode);
+
#endif /* _DHT_H */