Bug 763915 (GLUSTER-2183)

Summary: File creation based on group permissions fails while working perfectly when done on uderling ext3 FS
Product: [Community] GlusterFS Reporter: Mateusz Korniak <mateusz-lists>
Component: fuseAssignee: Csaba Henk <csaba>
Status: CLOSED DUPLICATE QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: 3.1.1CC: aavati, amarts, gluster-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: fuse
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Mateusz Korniak 2010-12-02 12:10:06 UTC
I can only add it worked perfectly on 2.0.9 :(

Comment 1 Mateusz Korniak 2010-12-02 15:05:18 UTC
Example, simple one brick volume mounted locally:
localhost:/vol on /mnt/vol_mountpoint type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)

vol_mountpoint]$ ls -lad .
drwxrwxr-x 12 msmieja commongroup 4096 Dec  2 15:23 .

vol_mountpoint]$ id
uid=9000(matkor) gid=1000(users) groups=1000(users),3(sys),10(wheel),23(audio),24(video),51(http),52(cvs),84(fuse),10001(commongroup)

vol_mountpoint]$ touch foo
touch: cannot touch `foo': Permission denied

When I change dir to where glusterfsd keeps volume operation works.

/dev/md7 on / type ext3 (rw,acl,commit=0)
Linux appserver3 2.6.36-1 #1 SMP Tue Nov 9 09:56:02 CET 2010 x86_64 Intel(R)_Core(TM)2_Quad_CPU____Q8300__ PLD Linux

Any hints ?
TIA.

Comment 2 Mateusz Korniak 2010-12-03 06:37:46 UTC
Group permissions seem to work for default user group though.
If we change vol_mountpoint/ group owner to 'users':
vol_mountpoint]# ls -lad .
drwxrwxr-x 11 msmieja users 4096 Dec  3 10:24 .

Any user from group users can add/remove files.

Comment 3 Anand Avati 2010-12-03 08:24:14 UTC
This is because fuse does not pass on groups of the process which issued the syscall but just the primary uid and gid to the filesystem. However NFS client does send the auxillary group list. Removing access-control translator on the server will solve this problem (though NFS needs the access control translator for some cases.)

Csaba,
  any comments?

Avati

Comment 4 Mateusz Korniak 2010-12-07 07:33:24 UTC
(In reply to comment #3)
> (...) Removing access-control translator on the
> server will solve this problem (though NFS needs the access control translator
> for some cases.)

We do not use NFS, only fuse mounts.
I can see in generated .vol:

volume mountpnt-locks
    type features/locks
    subvolumes mountpnt-access-control
end-volume

How should I properly remove it ?
Edit .vol file ? Use gluster CLI somehow ? Edit it somewhere else ?
TIA

Comment 5 Mateusz Korniak 2011-01-18 12:19:57 UTC
Though seems this (or similar bug) is noted to be fixed in 3.1.2 after upgrade I still experience that bug.

Comment 6 Amar Tumballi 2011-02-01 08:29:30 UTC
The fix for this is not in 3.1.2. http://patches.gluster.com/patch/6033/ should fix this.

*** This bug has been marked as a duplicate of bug 2296 ***