diff options
author | N Balachandran <nbalacha@redhat.com> | 2019-01-28 11:55:17 +0530 |
---|---|---|
committer | N Balachandran <nbalacha@redhat.com> | 2019-02-01 05:29:59 +0000 |
commit | 7eda6fe62d4e47937afc2ba71b4fd858399bca05 (patch) | |
tree | 2a2686cfc7d84db4f0a12e7d8e8745b942c9bcd5 /xlators | |
parent | 62a61c548d85d8c894907d7c43ef66c009a4757d (diff) |
cluster/dht: Remove internal permission bits
Rebalance sets the sgid and t bits on a file
that is being migrated. These permissions are
not removed in dht_readdirp_cbk when listing files
causing them to show up on the mountpoint.
We now remove these permissions if a non-linkto
file has the linkto xattr set.
Change-Id: I5c69b2ecfe2df804fe50faea903b242d01729596
fixes: bz#1669937
Signed-off-by: N Balachandran <nbalacha@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index 5ce1864007b..bc7214e1c7a 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -6764,6 +6764,12 @@ dht_readdirp_cbk(call_frame_t *frame, void *cookie, xlator_t *this, int op_ret, } } } else { + if (orig_entry->dict && + dict_get(orig_entry->dict, conf->link_xattr_name)) { + /* Strip out the S and T flags set by rebalance*/ + DHT_STRIP_PHASE1_FLAGS(&entry->d_stat); + } + if (orig_entry->inode) { ret = dht_layout_preset(this, prev, orig_entry->inode); if (ret) |