Bug 1734026

Summary: Cannot see the "trusted.glusterfs.mdata" xattr for directory on a new brick after rebalance
Product: [Community] GlusterFS Reporter: Kotresh HR <khiremat>
Component: ctimeAssignee: Kotresh HR <khiremat>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: mainlineCC: amukherj, bugs, khiremat, moagrawa, nchilaka, rgowdapp, rhs-bugs, saraut, storage-qa-internal, vdas
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1728673
: 1752413 1752429 (view as bug list) Environment:
Last Closed: 2019-09-16 06:43:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1728673    
Bug Blocks: 1696809, 1752413, 1752429    

Comment 1 Kotresh HR 2019-07-29 13:21:32 UTC
Description of problem:
The "trusted.glusterfs.mdata" xattr was present on a dir on brick1 when it was created, but when added new brick (brick2) to the volume, and did rebalance as well, the xattr was not present on the dir on new brick(brick2).

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

How reproducible:
Always

Steps to Reproduce :
===================
1.Create a 1 brick distributed volume.
2.Mount the volume on a client node using fuse.
3.Create a dir on client node
  #mkdir dir1
4.Check all the internal xattrs for the dir1 on the back-end using:
  #getfattr -de hex -m . /bricks/brick1/dir1
5.Add a new brick to the volume.
6.Trigger rebalance on the volume and let it complete.
7.Check all the internal xattrs for the dir1 on the back-end (old_brick and new_brick) using:
  #getfattr -de hex -m . /bricks/brick1/dir1


Actual Results:
==============
[root@dhcp46-63 ~]# getfattr -de hex -m . /bricks/brick8/vol6-b1/dir1    <------ Old brick
getfattr: Removing leading '/' from absolute path names
# file: bricks/brick8/vol6-b1/dir1
security.selinux=0x73797374656d5f753a6f626a6563745f723a676c7573746572645f627269636b5f743a733000
trusted.gfid=0xeb91e43ca84147ef872a31b119e7c1d4
trusted.glusterfs.dht=0xe92e902a000000007fffffffffffffff
trusted.glusterfs.dht.mds=0x00000000
trusted.glusterfs.mdata=0x010000000000000000000000005d25d1bd0000000021374da7000000005d25d1bd0000000021374da7000000005d25d1bd0000000021374da7



[root@dhcp47-188 dir1]# getfattr -de hex -m . /bricks/brick8/vol6-b2/dir1   <----- New brick
getfattr: Removing leading '/' from absolute path names
# file: bricks/brick8/vol6-b2/dir1
security.selinux=0x73797374656d5f753a6f626a6563745f723a676c7573746572645f627269636b5f743a733000
trusted.gfid=0xeb91e43ca84147ef872a31b119e7c1d4
trusted.glusterfs.dht=0xe92e902a00000000000000007ffffffe



Expected Results:
=================

As the trusted.glusterfs.mdata is an internal xattr, it should also behave like other xattrs (e.g. trusted.glusterfs.dht) and be present on dir1 on new brick as well.


Rebalance status output:
=======================

[root@dhcp47-88 ~]# gluster v rebal vol6 status
                                    Node Rebalanced-files          size       scanned      failures       skipped               status  run time in h:m:s
                               ---------      -----------   -----------   -----------   -----------   -----------         ------------     --------------
                            10.70.47.188                0        0Bytes             0             0             0            completed        0:00:00
                             10.70.46.63                0        0Bytes             0             0             0            completed        0:00:00
volume rebalance: vol6: success

Comment 2 Worker Ant 2019-07-29 15:40:15 UTC
REVIEW: https://review.gluster.org/23127 (cluster/dht: Heal ctime xattr on directory during rebalance) posted (#1) for review on master by Kotresh HR

Comment 3 Worker Ant 2019-09-16 06:43:15 UTC
REVIEW: https://review.gluster.org/23127 (ctime/rebalance: Heal ctime xattr on directory during rebalance) merged (#11) on master by Amar Tumballi