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>
This commit is contained in:
N Balachandran 2019-01-28 11:55:17 +05:30
parent 62a61c548d
commit 7eda6fe62d

View File

@ -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)