Bug 1359599

Summary: BitRot :- bit-rot.signature and bit-rot.version xattr should not be set if bitrot is not enabled on volume
Product: [Community] GlusterFS Reporter: Kotresh HR <khiremat>
Component: bitrotAssignee: Raghavendra Bhat <rabhat>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact: bugs <bugs>
Priority: unspecified    
Version: mainlineCC: bugs, hchiramm, jbyers, khiremat, mzywusko, olim, rabhat, racpatel, rhs-bugs, rmekala
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.11.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1224216
: 1406743 (view as bug list) Environment:
Last Closed: 2017-05-30 18:34:38 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: 1224216    
Bug Blocks: 1186580, 1223636, 1298258, 1406743    

Description Kotresh HR 2016-07-25 06:21:36 UTC
+++ This bug was initially created as a clone of Bug #1224216 +++

+++ This bug was initially created as a clone of Bug #1207152 +++

Description of problem:
=======================
event though bitrot is not enabled on volume it is setting xattr bit-rot.signature and bit-rot.version

Version-Release number of selected component (if applicable):
=============================================================

How reproducible:
=================
always

Steps to Reproduce:
===================
1. create and mount volume.
Volume Name: tier_distrep
Type: Distributed-Replicate
Volume ID: ad81ef54-70ec-41f2-800c-17e5025acb26
Status: Started
Number of Bricks: 5 x 2 = 10
Transport-type: tcp
Bricks:
Brick1: rhs-client38:/pavanbrick2/tier_distrep/hb2m
Brick2: rhs-client37:/pavanbrick2/tier_distrep/hb2
Brick3: rhs-client37:/pavanbrick2/tier_distrep/hb1m
Brick4: rhs-client44:/pavanbrick2/tier_distrep/hb1
Brick5: rhs-client44:/pavanbrick1/tier_distrep/b1
Brick6: rhs-client37:/pavanbrick1/tier_distrep/b1m
Brick7: rhs-client37:/pavanbrick1/tier_distrep/b2
Brick8: rhs-client38:/pavanbrick1/tier_distrep/b2m
Brick9: rhs-client44:/pavanbrick1/tier_distrep/b3m
Brick10: rhs-client38:/pavanbrick1/tier_distrep/b3

2. create few files.
3. verify xattr for files in backend

[root@rhs-client44 try]# getfattr -d -m . -e hex /pavanbrick1/tier_distrep/b1/f12
getfattr: Removing leading '/' from absolute path names
# file: pavanbrick1/tier_distrep/b1/f12
trusted.gfid=0x9142b9dfe68c47149d95dfd037177723
trusted.glusterfs.bit-rot.signature=0xff000000000000000000000000000000
trusted.glusterfs.bit-rot.version=0x010000000000000055152f6c000566ef


Actual results:
===============
even though bitrot is not enabled on volume it is setting xattr bit-rot.signature and bit-rot.version

Comment 1 Kotresh HR 2016-07-25 06:22:35 UTC
Patch Posted:

http://review.gluster.org/14442

Comment 2 Vijay Bellur 2016-07-25 07:31:37 UTC
REVIEW: http://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#2) for review on master by Kotresh HR (khiremat)

Comment 3 Vijay Bellur 2016-07-28 16:34:30 UTC
REVIEW: http://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#3) for review on master by Kotresh HR (khiremat)

Comment 4 Kotresh HR 2016-08-11 12:14:31 UTC
*** Bug 1207152 has been marked as a duplicate of this bug. ***

Comment 5 Worker Ant 2017-02-13 10:06:55 UTC
REVIEW: https://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#4) for review on master by Kotresh HR (khiremat)

Comment 6 Worker Ant 2017-02-15 20:18:25 UTC
REVIEW: https://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#5) for review on master by Kotresh HR (khiremat)

Comment 7 Worker Ant 2017-02-16 07:08:13 UTC
REVIEW: https://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#6) for review on master by Kotresh HR (khiremat)

Comment 8 Worker Ant 2017-02-16 09:56:50 UTC
REVIEW: https://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#7) for review on master by Kotresh HR (khiremat)

Comment 9 Worker Ant 2017-03-14 07:47:40 UTC
REVIEW: https://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#8) for review on master by Atin Mukherjee (amukherj)

Comment 10 Worker Ant 2017-03-20 06:11:30 UTC
REVIEW: https://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#9) for review on master by Kotresh HR (khiremat)

Comment 11 Worker Ant 2017-03-20 13:41:50 UTC
REVIEW: https://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#10) for review on master by Kotresh HR (khiremat)

Comment 12 Worker Ant 2017-04-12 09:49:57 UTC
REVIEW: https://review.gluster.org/14442 (features/bit-rot-stub: bring in optional versioning) posted (#11) for review on master by Kotresh HR (khiremat)

Comment 13 Worker Ant 2017-04-19 03:29:50 UTC
COMMIT: https://review.gluster.org/14442 committed in master by Raghavendra Bhat (raghavendra) 
------
commit e3d9018f2ddc28548c0aa18960a3a524521c9ad7
Author: Raghavendra Bhat <raghavendra>
Date:   Thu May 12 16:40:04 2016 -0400

    features/bit-rot-stub: bring in optional versioning
    
    * As of now bit-rot-stub does versioning always. This leads
      lots of getxattr calls being made in lookups. So make
      object versioning optional.
    
    Change-Id: I83713e45ae59fb28004bb3cfa008f2d69edebbfa
    BUG: 1359599
    Signed-off-by: Raghavendra Bhat <raghavendra>
    Signed-off-by: Kotresh HR <khiremat>
    Reviewed-on: https://review.gluster.org/14442
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 14 Shyamsundar 2017-05-30 18:34:38 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-3.11.0, please open a new bug report.

glusterfs-3.11.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/2017-May/000073.html
[2] https://www.gluster.org/pipermail/gluster-users/