diff options
author | Susant Palai <spalai@redhat.com> | 2020-04-24 13:32:51 +0530 |
---|---|---|
committer | MOHIT AGRAWAL <moagrawa@redhat.com> | 2020-04-28 16:57:26 +0000 |
commit | 5a3a9afa2352043a2172615c428989c3ebd80c27 (patch) | |
tree | 6fbca7446d7add61259339adc512e4fb4eb95f3d /xlators/cluster/dht/src/dht-common.h | |
parent | 8536a9e66bd2b684f961b16ebe213cb63b060c20 (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.h | 3 |
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 */ |