Bug 1677804 - POSIX ACLs are absent on FUSE-mounted volume using tmpfs bricks (posix-acl-autoload usually returns -1)
Summary: POSIX ACLs are absent on FUSE-mounted volume using tmpfs bricks (posix-acl-au...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: GlusterFS
Classification: Community
Component: posix-acl
Version: 5
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Susant Kumar Palai
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-02-15 23:35 UTC by Chuck Wilson
Modified: 2020-03-12 12:39 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-03-12 12:39:44 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

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


Note You need to log in before you can comment on or make changes to this bug.