summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht/src/dht-common.h
diff options
context:
space:
mode:
authorMohit Agrawal <moagrawa@redhat.com>2018-05-31 12:29:35 +0530
committerAmar Tumballi <amarts@redhat.com>2018-07-11 03:13:24 +0000
commite57cbae0bcc3d8649b869eda5ec20f3c6a6d34f0 (patch)
tree52059d8e2e38143717b88e6f2683cfacf142463a /xlators/cluster/dht/src/dht-common.h
parente31c7a7c0c1ea3f6e931935226fb976a92779ba7 (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.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 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 */