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@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
[email protected]
http://www.gluster.org/mailman/listinfo/gluster-users