diff options
author | Mohit Agrawal <moagrawa@redhat.com> | 2018-05-31 12:29:35 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-07-11 03:13:24 +0000 |
commit | e57cbae0bcc3d8649b869eda5ec20f3c6a6d34f0 (patch) | |
tree | 52059d8e2e38143717b88e6f2683cfacf142463a /xlators/cluster/dht/src/dht-common.h | |
parent | e31c7a7c0c1ea3f6e931935226fb976a92779ba7 (diff) |
dht: Inconsistent permission for directories after brick stop/start
Problem: Inconsistent access permissions on directories after
bringing back the down sub-volumes, in case of directories dht_setattr
first wind a call on MDS once call is finished on MDS then wind a call
on NON-MDS.At the time of revalidating dht just compare the uid/gid with
stbuf uid/gid and if anyone differs set a flag to heal the same.
Solution: Add a condition to compare permission also in dht_revalidate_cbk
to set a flag to call dht_dir_attr_heal.
BUG: 1584517
Change-Id: I3e039607148005015b5d93364536158380d4c5aa
fixes: bz#1584517
Signed-off-by: Mohit Agrawal <moagrawa@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 43bceb9fd2d..02560ef94ab 100644 --- a/xlators/cluster/dht/src/dht-common.h +++ b/xlators/cluster/dht/src/dht-common.h @@ -298,6 +298,7 @@ struct dht_local { xlator_t *mds_subvol; /* This is use for dir only */ char need_selfheal; char need_xattr_heal; + char need_attrheal; int file_count; int dir_count; call_frame_t *main_frame; @@ -1488,4 +1489,6 @@ int dht_request_iatt_in_xdata (xlator_t *this, dict_t *xattr_req); int dht_read_iatt_from_xdata (xlator_t *this, dict_t *xdata, struct iatt *stbuf); +int +is_permission_different (ia_prot_t *prot1, ia_prot_t *prot2); #endif/* _DHT_H */ |