Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1677804

Summary: POSIX ACLs are absent on FUSE-mounted volume using tmpfs bricks (posix-acl-autoload usually returns -1)
Product: [Community] GlusterFS Reporter: Chuck Wilson <chuck.wilson>
Component: posix-aclAssignee: Susant Kumar Palai <spalai>
Status: CLOSED UPSTREAM QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5CC: bugs, chuck.wilson, jthottan, spalai
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: Environment:
Last Closed: 2020-03-12 12:39:44 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:

Description Chuck Wilson 2019-02-15 23:35:15 UTC
Description of problem:

Calling `setfacl` on a volume whose bricks are on a tmpfs mount sets the ACLs on the brick dirs/files, but calling `getfacl` on the FUSE-mounted volume does not show the ACLs most of the time. However, if a file is `fallocate`d on that same tmpfs mount, and that file is mounted via loopback, that problem does not occur; `getfacl` always returns the ACLs on the FUSE-mounted volume. 


Version-Release number of selected component (if applicable):
Tested on gluster 5.3 and 4.1.


How reproducible: always


Steps to Reproduce:
1. Mount a ramdisk
mount -t tmpfs -o auto,nodev,nosuid,noexec,nodiratime,size=5G tmpfs /mnt/test

2. Make a test user
adduser testuser

3. Create volume
gluster volume create gv0 replica 3 server{1..3}:/mnt/test/brick

4. Start volume
gluster volume start gv0

5. FUSE-mount the volume
mkdir /mnt/gv0 && mount -t glusterfs -o acl server1,server2,server3:/gv0 /mnt/gv0

6. Create test file
echo "test" > /mnt/gv0/test

7. Set ACL
setfacl -m u:testuser:rwx /mnt/gv0/test

8. Check ACL
Run several times to see that it is usually missing the ACL
getfacl /mnt/gv0/test



Actual results:
ACLs are not there

Expected results:
ACLs should be there

Additional info:
When the ACLs aren't there, the gluster log has a trace that indicates `posix-acl-autoload` returns -1. When the ACLs are present, that message is not in the log.

This seems to be a problem with gluster reading the ACLs from a tmpfs partition.

Comment 1 Chuck Wilson 2019-02-15 23:41:12 UTC
Just to clarify, running `getfacl` on the files in the actual brick (/mnt/test/brick) always returns the ACLs, so it doesn't seem to be a problem with storing / accessing the ACLs on a tmpfs partition -- just gluster reading those ACLs.

Comment 2 Worker Ant 2020-03-12 12:39:44 UTC
This bug is moved to https://github.com/gluster/glusterfs/issues/922, and will be tracked there from now on. Visit GitHub issues URL for further details