[Gluster-users] Gluster 3.7.1 not honoring 'acl' mount option when using autofs

Ravishankar N ravishankar at redhat.com
Sat Aug 20 03:46:34 UTC 2016


It looks like http://review.gluster.org/#/c/14686/, which went in 
glusterfs 3.7.13 could solve the issue. You might want to test on this 
version (or later) and see if things work.
-Ravi

On 08/19/2016 08:43 PM, Anthony Altemara wrote:
> Hello,
>
> On the gluster client, I'm seeing an issue with using Gluster's 'acl' mount option when using autofs. When mounting directly, acl support works fine. When mounting via autofs, I'm getting 'operation not supported' when attempting to use 'setfacl' on a file on the gluster mount.
>
> Glusterfs version: 3.7.1
> Autofs version: 5.0.7
> CentOS version: 7.2.1511 (Core)
>
> Autofs line:
> *       -fstype=glusterfs,acl     gluster-server:/&
>
>
> #### WORKS WITH DIRECT MOUNT ####
>
> # stat -f /mountpoint/deleteme
>    File: "/mountpoint/deleteme"
>      ID: 0        Namelen: 255     Type: fuseblk
> Block size: 131072     Fundamental block size: 131072
> Blocks: Total: 518635600  Free: 347741442  Available: 347741442
> Inodes: Total: 1327748864 Free: 1315937975
>
> # getfacl /mountpoint/deleteme
> getfacl: Removing leading '/' from absolute path names
> # file: mountpoint/deleteme
> # owner: root
> # group: root
> user::rw-
> user:git-ro:r--
> group::r--
> mask::r--
> other::r--
>
> # stat -f /mountpoint/deleteme
>    File: "/mountpoint/deleteme"
>      ID: 0        Namelen: 255     Type: fuseblk
> Block size: 131072     Fundamental block size: 131072
> Blocks: Total: 518635600  Free: 347740826  Available: 347740826
> Inodes: Total: 1327748864 Free: 1315937926
>
> # umount /mountpoint
>
>
> #### BROKEN WITH AUTOFS  MOUNT ####
>
> ### Contents of auto.gluster-server:
> *       -fstype=glusterfs,acl     gluster-server:/&
>
> # service autofs start
>
> # setfacl -m 'u:git-ro:r' /mountpoint/deleteme
> setfacl: /mountpoint/deleteme: Operation not supported
>
> [root at gluster-client-host]  /srv# strace setfacl -m 'u:git-ro:r' /mountpoint/deleteme
> execve("/usr/bin/setfacl", ["setfacl", "-m", "u:git-ro:r", "/mountpoint/d"...], [/* 23 vars */]) = 0
> brk(0)                                  = 0x83a000
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2a5a211000
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
> open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=29014, ...}) = 0
> mmap(NULL, 29014, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f2a5a209000
> close(3)                                = 0
> open("/lib64/libacl.so.1", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\37\0\0\0\0\0\0"..., 832) = 832
> fstat(3, {st_mode=S_IFREG|0755, st_size=37056, ...}) = 0
> mmap(NULL, 2130560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2a59de8000
> mprotect(0x7f2a59def000, 2097152, PROT_NONE) = 0
> mmap(0x7f2a59fef000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f2a59fef000
> close(3)                                = 0
> open("/lib64/libattr.so.1", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\23\0\0\0\0\0\0"..., 832) = 832
> fstat(3, {st_mode=S_IFREG|0755, st_size=19888, ...}) = 0
> mmap(NULL, 2113904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2a59be3000
> mprotect(0x7f2a59be7000, 2093056, PROT_NONE) = 0
> mmap(0x7f2a59de6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f2a59de6000
> close(3)                                = 0
> open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \34\2\0\0\0\0\0"..., 832) = 832
> fstat(3, {st_mode=S_IFREG|0755, st_size=2107816, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2a5a208000
> mmap(NULL, 3932736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2a59822000
> mprotect(0x7f2a599d8000, 2097152, PROT_NONE) = 0
> mmap(0x7f2a59bd8000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b6000) = 0x7f2a59bd8000
> mmap(0x7f2a59bde000, 16960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2a59bde000
> close(3)                                = 0
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2a5a206000
> arch_prctl(ARCH_SET_FS, 0x7f2a5a206740) = 0
> mprotect(0x7f2a59bd8000, 16384, PROT_READ) = 0
> mprotect(0x7f2a59de6000, 4096, PROT_READ) = 0
> mprotect(0x7f2a59fef000, 4096, PROT_READ) = 0
> mprotect(0x607000, 4096, PROT_READ)     = 0
> mprotect(0x7f2a5a212000, 4096, PROT_READ) = 0
> munmap(0x7f2a5a209000, 29014)           = 0
> brk(0)                                  = 0x83a000
> brk(0x85b000)                           = 0x85b000
> brk(0)                                  = 0x85b000
> open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=106065056, ...}) = 0
> mmap(NULL, 106065056, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f2a532fb000
> close(3)                                = 0
> socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
> connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
> close(3)                                = 0
> socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
> connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
> close(3)                                = 0
> open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=1717, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2a5a210000
> read(3, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1717
> read(3, "", 4096)                       = 0
> close(3)                                = 0
> munmap(0x7f2a5a210000, 4096)            = 0
> open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=29014, ...}) = 0
> mmap(NULL, 29014, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f2a5a209000
> close(3)                                = 0
> open("/lib64/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\"\0\0\0\0\0\0"..., 832) = 832
> fstat(3, {st_mode=S_IFREG|0755, st_size=61928, ...}) = 0
> mmap(NULL, 2173048, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2a530e8000
> mprotect(0x7f2a530f4000, 2093056, PROT_NONE) = 0
> mmap(0x7f2a532f3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7f2a532f3000
> mmap(0x7f2a532f5000, 22648, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2a532f5000
> close(3)                                = 0
> mprotect(0x7f2a532f3000, 4096, PROT_READ) = 0
> munmap(0x7f2a5a209000, 29014)           = 0
> open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=2314, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2a5a210000
> read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2314
> close(3)                                = 0
> munmap(0x7f2a5a210000, 4096)            = 0
> getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0
> lstat("/mountpoint/deleteme", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> getxattr("/mountpoint/deleteme", "system.posix_acl_access", 0x7ffc5ecf7f80, 132) = -1 EOPNOTSUPP (Operation not supported)
> setxattr("/mountpoint/deleteme", "system.posix_acl_access", "\x02\x00\x00\x00\x01\x00\x06\x00\xff\xff\xff\xff\x02\x00\x04\x00\xf5\x03\x00\x00\x04\x00\x04\x00\xff\xff\xff\xff\x10\x00\x04\x00\xff\xff\xff\xff \x00\x04\x00\xff\xff\xff\xff", 44, 0) = -1 EOPNOTSUPP (Operation not supported)
> open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=2502, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2a5a210000
> read(3, "# Locale name alias data base.\n#"..., 4096) = 2502
> read(3, "", 4096)                       = 0
> close(3)                                = 0
> munmap(0x7f2a5a210000, 4096)            = 0
> open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
> open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
> open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
> open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
> open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
> open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
> write(2, "setfacl: /mountpoint/"..., 74setfacl: /mountpoint/deleteme: Operation not supported
> ) = 74
> exit_group(1)                           = ?
> +++ exited with 1 +++
>
>
> # rpm -qa | grep gluster
> glusterfs-client-xlators-3.7.1-16.0.1.el7.centos.x86_64
> glusterfs-libs-3.7.1-16.0.1.el7.centos.x86_64
> glusterfs-3.7.1-16.0.1.el7.centos.x86_64
> glusterfs-fuse-3.7.1-16.0.1.el7.centos.x86_64
>
> # yum info glusterfs
> Loaded plugins: fastestmirror
> Loading mirror speeds from cached hostfile
>   * base: ftp.usf.edu
>   * epel: mirror.symnds.com
>   * extras: mirror.symnds.com
>   * updates: mirror.fusioncloud.co
> Installed Packages
> Name        : glusterfs
> Arch        : x86_64
> Version     : 3.7.1
> Release     : 16.0.1.el7.centos
> Size        : 1.6 M
> Repo        : installed
>  From repo   : updates
> Summary     : Distributed File System
> URL         : http://www.gluster.org/docs/index.php/GlusterFS
> License     : GPLv2 or LGPLv3+
> Description : GlusterFS is a distributed file-system capable of scaling to several
>              : petabytes. It aggregates various storage bricks over Infiniband RDMA
>              : or TCP/IP interconnect into one large parallel network file
>              : system. GlusterFS is one of the most sophisticated file systems in
>              : terms of features and extensibility.  It borrows a powerful concept
>              : called Translators from GNU Hurd kernel. Much of the code in GlusterFS
>              : is in user space and easily manageable.
>              :
>              : This package includes the glusterfs binary, the glusterfsd daemon and the
>              : libglusterfs and glusterfs translator modules common to both GlusterFS server
>              : and client framework.
>
> # rpm -qa | grep autofs
> autofs-5.0.7-54.el7.x86_64
>
> # yum info autofs
> Loaded plugins: fastestmirror
> Loading mirror speeds from cached hostfile
>   * base: ftp.usf.edu
>   * epel: mirror.symnds.com
>   * extras: mirror.symnds.com
>   * updates: mirror.fusioncloud.co
> Installed Packages
> Name        : autofs
> Arch        : x86_64
> Epoch       : 1
> Version     : 5.0.7
> Release     : 54.el7
> Size        : 5.0 M
> Repo        : installed
>  From repo   : base
> Summary     : A tool for automatically mounting and unmounting filesystems
> License     : GPLv2+
> Description : autofs is a daemon which automatically mounts filesystems when you use
>              : them, and unmounts them later when you are not using them.  This can
>              : include network filesystems, CD-ROMs, floppies, and so forth.
>
> Thanks for any ideas!
>
> -Anthony
>
> ********************** IMPORTANT--PLEASE READ ************************ This electronic message, including its attachments, is COMPANY CONFIDENTIAL and may contain PROPRIETARY or LEGALLY PRIVILEGED information. If you are not the intended recipient, you are hereby notified that any use, disclosure, copying, or distribution of this message or any of the information included in it is unauthorized and strictly prohibited. If you have received this message in error, please immediately notify the sender by reply e-mail and permanently delete this message and its attachments, along with any copies thereof. Thank you. ************************************************************************
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-users




More information about the Gluster-users mailing list