Bug 1524365

Summary: feature/bitrot: remove internal xattrs from lookup cbk
Product: [Community] GlusterFS Reporter: Ravishankar N <ravishankar>
Component: bitrotAssignee: Ravishankar N <ravishankar>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact: bugs <bugs>
Priority: unspecified    
Version: mainlineCC: bugs
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-4.0.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1527275 1527276 1527278 (view as bug list) Environment:
Last Closed: 2018-03-15 11:23:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1527275, 1527276, 1527278    

Description Ravishankar N 2017-12-11 10:53:53 UTC
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.

Comment 1 Worker Ant 2017-12-11 10:57:13 UTC
REVIEW: https://review.gluster.org/19021 (feature/bitrot: remove internal xattrs from lookup cbk) posted (#1) for review on master by Ravishankar N

Comment 2 Worker Ant 2017-12-19 04:26:29 UTC
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 3 Shyamsundar 2018-03-15 11:23:27 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-4.0.0, please open a new bug report.

glusterfs-4.0.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://lists.gluster.org/pipermail/announce/2018-March/000092.html
[2] https://www.gluster.org/pipermail/gluster-users/