glusterfs/0324-dht-delete-tier-related-internal-xattr-in-dht_getxat.patch
Milind Changire 0820681560 autobuild v3.12.2-14
Resolves: bz#1547903 bz#1566336 bz#1568896 bz#1578716 bz#1581047
Resolves: bz#1581231 bz#1582066 bz#1593865 bz#1597506 bz#1597511
Resolves: bz#1597654 bz#1597768 bz#1598105 bz#1598356 bz#1599037
Resolves: bz#1599823 bz#1600057 bz#1601314
Signed-off-by: Milind Changire <mchangir@redhat.com>
2018-07-18 08:38:52 -04:00

58 lines
2.3 KiB
Diff

From 2a26ea5a3ee33ba5e6baedca8b18e29277ff385a Mon Sep 17 00:00:00 2001
From: Sunny Kumar <sunkumar@redhat.com>
Date: Tue, 3 Jul 2018 13:58:23 +0530
Subject: [PATCH 324/325] 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.
Upstream Patch : https://review.gluster.org/#/c/20450/ and
https://review.gluster.org/#/c/20520/
>fixes: bz#1597563
>Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
Change-Id: I3530ffe7c4157584b439486f33ecd82ed8d66aee
BUG: 1581047
Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/144024
Tested-by: RHGS Build Bot <nigelb@redhat.com>
Reviewed-by: Nithya Balachandran <nbalacha@redhat.com>
---
xlators/cluster/dht/src/dht-common.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c
index 23049b6..2207708 100644
--- a/xlators/cluster/dht/src/dht-common.c
+++ b/xlators/cluster/dht/src/dht-common.c
@@ -4606,6 +4606,20 @@ 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)) {
+ dict_del(xattr, GF_XATTR_TIER_LAYOUT_FIXED_KEY);
+ }
+
if (frame->root->pid >= 0) {
GF_REMOVE_INTERNAL_XATTR
("trusted.glusterfs.quota*", xattr);
--
1.8.3.1