Bug 1527278 - feature/bitrot: remove internal xattrs from lookup cbk
Summary: feature/bitrot: remove internal xattrs from lookup cbk
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: GlusterFS
Classification: Community
Component: bitrot
Version: 3.10
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact:
bugs@gluster.org
URL:
Whiteboard:
Depends On: 1524365
Blocks: 1527275 1527276
TreeView+ depends on / blocked
 
Reported: 2017-12-19 04:41 UTC by Ravishankar N
Modified: 2017-12-19 08:58 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1524365
Environment:
Last Closed: 2017-12-19 08:58:35 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Ravishankar N 2017-12-19 04:41:16 UTC
+++ This bug was initially created as a clone of Bug #1524365 +++

Problem:
    afr requests all xattrs in lookup via the list-xattr key. If bitrot is
    enabled and later disabled, or if the bitrot xattrs were present due to
    an older version of bitrot which used to create the xattrs without
    enabling the feature, the xattrs (trusted.bit-rot.version in particular)
    was not getting filtered and ended up reaching the client stack. AFR, on
    noticing different values of the xattr across bricks of the replica,
    started triggering spurious metadata heals.

    Fix:
    Filter all internal xattrs in bitrot xlator before unwinding lookup.

--- Additional comment from Worker Ant on 2017-12-11 05:57:13 EST ---

REVIEW: https://review.gluster.org/19021 (feature/bitrot: remove internal xattrs from lookup cbk) posted (#1) for review on master by Ravishankar N

--- Additional comment from Worker Ant on 2017-12-18 23:26:29 EST ---

COMMIT: https://review.gluster.org/19021 committed in master by \"Ravishankar N\" <ravishankar> with a commit message- feature/bitrot: remove internal xattrs from lookup cbk

Problem:
afr requests all xattrs in lookup via the list-xattr key. If bitrot is
enabled and later disabled, or if the bitrot xattrs were present due to
an older version of bitrot which used to create the xattrs without
enabling the feature, the xattrs (trusted.bit-rot.version in particular)
was not getting filtered and ended up reaching the client stack. AFR, on
noticing different values of the xattr across bricks of the replica,
started triggering spurious metadata heals.

Fix:
Filter all internal xattrs in bitrot xlator before unwinding lookup,
(f)getxattr.

Thanks to Kotresh for the help in RCA'ing.

Change-Id: I5bc70e4b901359c3daefc67b8e4fa6ddb47f046c
BUG: 1524365
Signed-off-by: Ravishankar N <ravishankar>

Comment 1 Ravishankar N 2017-12-19 08:58:35 UTC
This issue does not occur in glusterfs-3.10 because versioning is always enabled and the xattrs will get filtered out in br_stub_lookup_cbk .


Note You need to log in before you can comment on or make changes to this bug.