From 7dd08a4dd056f8b721d56012769cf299cd1afb53 Mon Sep 17 00:00:00 2001 From: Sunny Kumar Date: Tue, 3 Jul 2018 13:58:23 +0530 Subject: 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 --- xlators/cluster/dht/src/dht-common.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'xlators') 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); -- cgit