diff options
author | Sunny Kumar <sunkumar@redhat.com> | 2018-07-03 13:58:23 +0530 |
---|---|---|
committer | N Balachandran <nbalacha@redhat.com> | 2018-07-16 05:34:00 +0000 |
commit | 7dd08a4dd056f8b721d56012769cf299cd1afb53 (patch) | |
tree | d5d9a73217d9d2f98a34b0c34fbc2db1dc42c85d /xlators/cluster | |
parent | 6c2deb080aa2df73d3cb2a5f330208d30e9c6759 (diff) |
dht: delete tier related internal xattr in dht_getxattr_cbk
Problem : Hot and Cold tier brick changelogs report rsync failure
Solution : georep session is failing to sync directory
from master volume to slave volume due to lot
of changelog retries, solution would be to ignore tier
related internal xattrs trusted.tier.fix.layout.complete and
trusted.tier.tier-dht.commithash in dht_getxattr_cbk.
Change-Id: I3530ffe7c4157584b439486f33ecd82ed8d66aee
fixes: bz#1597563
Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
Diffstat (limited to 'xlators/cluster')
-rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index fa73c33c5ab..5edd0da33ba 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -4827,6 +4827,21 @@ dht_getxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, dict_del (xattr, conf->mds_xattr_key); } + /* filter out following two xattrs that need not + * be visible on the mount point for geo-rep - + * trusted.tier.fix.layout.complete and + * trusted.tier.tier-dht.commithash + */ + + if (dict_get (xattr, conf->commithash_xattr_name)) { + dict_del (xattr, conf->commithash_xattr_name); + } + + if (frame->root->pid >= 0 && dht_is_tier_xlator (this)) { + GF_REMOVE_INTERNAL_XATTR + ("trusted.tier.fix.layout.complete", xattr); + } + if (frame->root->pid >= 0) { GF_REMOVE_INTERNAL_XATTR ("trusted.glusterfs.quota*", xattr); |