Bug 1716830

Summary: DHT: directory permissions are wiped out
Product: [Community] GlusterFS Reporter: Nithya Balachandran <nbalacha>
Component: distributeAssignee: Nithya Balachandran <nbalacha>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, rhs-bugs, sankarshan, saraut, storage-qa-internal
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: 1716821
: 1716848 (view as bug list) Environment:
Last Closed: 2019-06-05 07:21:00 UTC Type: ---
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: 1716821    
Bug Blocks: 1716848    

Description Nithya Balachandran 2019-06-04 09:05:10 UTC
+++ This bug was initially created as a clone of Bug #1716821 +++

Description of problem:

A sequence of steps can wipe out the permissions set on a directory.

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

RHGS 3.5.0 

How reproducible:
Consistently

Steps to Reproduce:
[root@rhgs313-6 ~]# gluster volume create vol1 192.168.122.6:/bricks/brick1/vol1-1
volume create: vol1: success: please start the volume to access data
[root@rhgs313-6 ~]# gluster v start vol1
volume start: vol1: success
[root@rhgs313-6 ~]# mount -t glusterfs -s 192.168.122.6:/vol1 /mnt/fuse1
[root@rhgs313-6 fuse]# cd /mnt/fuse1
[root@rhgs313-6 fuse1]# mkdir dir1
[root@rhgs313-6 fuse1]# cd dir1/


[root@rhgs313-6 dir1]# getx /bricks/brick1/vol1-*/dir1
getfattr: Removing leading '/' from absolute path names
# file: bricks/brick1/vol1-1/dir1
security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a756e6c6162656c65645f743a733000
trusted.gfid=0xbf9444c0f8614d81a5758ed801e9f7e0
trusted.glusterfs.dht=0x000000000000000000000000ffffffff
trusted.glusterfs.mdata=0x010000000000000000000000005cf629cf00000000302dadf6000000005cf629cf00000000302dadf6000000005cf629cf00000000302dadf6

[root@rhgs313-6 dir1]# gluster v add-brick vol1 192.168.122.6:/bricks/brick1/vol1-2 force
volume add-brick: success
[root@rhgs313-6 dir1]# ll
total 0




Check the directory permissions and xattrs on the bricks
[root@rhgs313-6 dir1]# ll /bricks/brick1/vol1-*
/bricks/brick1/vol1-1:
total 0
drwxr-xr-x. 2 root root 6 Jun  4 13:50 dir1

/bricks/brick1/vol1-2:
total 0
drwxr-xr-x. 2 root root 6 Jun  4 13:50 dir1

[root@rhgs313-6 dir1]# getx /bricks/brick1/vol1-*/dir1
getfattr: Removing leading '/' from absolute path names
# file: bricks/brick1/vol1-1/dir1
security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a756e6c6162656c65645f743a733000
trusted.gfid=0xbf9444c0f8614d81a5758ed801e9f7e0
trusted.glusterfs.dht=0x000000000000000000000000ffffffff
trusted.glusterfs.mdata=0x010000000000000000000000005cf629cf00000000302dadf6000000005cf629cf00000000302dadf6000000005cf629cf00000000302dadf6

# file: bricks/brick1/vol1-2/dir1
security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a756e6c6162656c65645f743a733000
trusted.gfid=0xbf9444c0f8614d81a5758ed801e9f7e0
trusted.glusterfs.dht=0x00000000000000000000000000000000
trusted.glusterfs.mdata=0x010000000000000000000000005cf629cf00000000302dadf6000000005cf629cf00000000302dadf6000000005cf629cf00000000302dadf6


From the mount point, cd one level up and then back again into dir1.

[root@rhgs313-6 dir1]# cd ..
[root@rhgs313-6 fuse1]# cd dir1
[root@rhgs313-6 dir1]# ll /bricks/brick1/vol1-*


Actual results:
[root@rhgs313-6 dir1]# ll /bricks/brick1/vol1-*
/bricks/brick1/vol1-1:
total 0
d---------. 2 root root 6 Jun  4 13:50 dir1

/bricks/brick1/vol1-2:
total 0
d---------. 2 root root 6 Jun  4 13:50 dir1


Expected results:
total 0
drwxr-xr-x. 2 root root 6 Jun  4 13:50 dir1

/bricks/brick1/vol1-2:
total 0
drwxr-xr-x. 2 root root 6 Jun  4 13:50 dir1

Additional info:

--- Additional comment from RHEL Product and Program Management on 2019-06-04 08:29:48 UTC ---

This bug is automatically being proposed for the next minor release of Red Hat Gluster Storage by setting the release flag 'rhgs‑3.5.0' to '?'. 

If this bug should be proposed for a different release, please manually change the proposed release flag.

Comment 1 Worker Ant 2019-06-04 09:28:44 UTC
REVIEW: https://review.gluster.org/22813 (cluster/dht: Fix directory perms during selfheal) posted (#1) for review on master by N Balachandran

Comment 2 Worker Ant 2019-06-05 07:21:00 UTC
REVIEW: https://review.gluster.org/22813 (cluster/dht: Fix directory perms during selfheal) merged (#2) on master by Amar Tumballi