Description of problem: Was running the ACL script which mainly created a file as a user and set ACL entries. While I was running that, the dir on the mount point in which the file was being created became inaccessible after issuing volume set command. Version-Release number of selected component (if applicable): 3.3.0qa20 Actual results: root@shortwing:/falcon/mnt# ls -lh ls: cannot access hello: No such file or directory total 4.0K ?????????? ? ? ? ? ? hello -rwxr-xr-x 1 root root 2.4K 2012-02-02 14:15 testacl.py Expected results: Additional info: Volume Name: test Type: Distribute Volume ID: 6ede0d1f-84d8-478a-90d0-be64b699395b Status: Started Number of Bricks: 1 Transport-type: tcp Bricks: Brick1: shortwing:/falcon/d1 Options Reconfigured: performance.stat-prefetch: off performance.quick-read: off Server log- [2012-02-02 16:18:21.722541] I [server3_1-fops.c:774:server_getxattr_cbk] 0-test-server: 475900: GETXATTR /dot (system.posix_acl_default) ==> -1 (No data available) [2012-02-02 16:19:05.155323] E [posix.c:1678:posix_create] 0-test-posix: setting xattrs on /falcon/d1/.glusterfs/00/00/00000000-0000-0000-0000-000000000001/hello/dot failed (Operation not supported) [2012-02-02 16:19:05.486764] I [server3_1-fops.c:774:server_getxattr_cbk] 0-test-server: 504505: GETXATTR /hello/dot (system.posix_acl_access) ==> -1 (No data available) [2012-02-02 16:28:40.088192] I [glusterfsd-mgmt.c:63:mgmt_cbk_spec] 0-mgmt: Volume file changed [2012-02-02 16:28:40.102388] I [server.c:556:server_rpc_notify] 0-test-server: disconnected connection from 127.0.0.1:1014 [2012-02-02 16:28:40.102493] I [server-helpers.c:763:server_connection_destroy] 0-test-server: destroyed connection of shortwing-5282-2012/02/02-14:16:12:058743-test-client-0 [2012-02-02 16:28:41.128691] I [glusterfsd-mgmt.c:1201:mgmt_getspec_cbk] 0-glusterfs: No change in volfile, continuing [2012-02-02 16:28:44.564369] I [server-handshake.c:540:server_setvolume] 0-test-server: accepted client from 127.0.0.1:1018 (version: 3git) [2012-02-02 16:28:45.167133] I [server-handshake.c:540:server_setvolume] 0-test-server: accepted client from 127.0.0.1:1013 (version: 3git) [2012-02-02 16:28:49.337052] I [glusterfsd-mgmt.c:63:mgmt_cbk_spec] 0-mgmt: Volume file changed [2012-02-02 16:28:49.353471] I [server.c:556:server_rpc_notify] 0-test-server: disconnected connection from 127.0.0.1:1013 [2012-02-02 16:28:49.353575] I [server-helpers.c:763:server_connection_destroy] 0-test-server: destroyed connection of shortwing-2696-2012/02/02-16:28:41:110592-test-client-0 [2012-02-02 16:28:50.375952] I [glusterfsd-mgmt.c:1201:mgmt_getspec_cbk] 0-glusterfs: No change in volfile, continuing [2012-02-02 16:28:53.405034] I [server-handshake.c:540:server_setvolume] 0-test-server: accepted client from 127.0.0.1:1010 (version: 3git) [2012-02-02 16:31:01.628269] I [server3_1-fops.c:774:server_getxattr_cbk] 0-test-server: 139: GETXATTR /testacl.py (system.posix_acl_access) ==> -1 (No data available) Client log- [2012-02-02 16:31:01.628375] W [client3_1-fops.c:899:client3_1_getxattr_cbk] 2-test-client-0: remote operation failed: No data available. Path: (null) [2012-02-02 16:31:01.629047] W [client3_1-fops.c:899:client3_1_getxattr_cbk] 2-test-client-0: remote operation failed: No data available. Path: (null) [2012-02-02 16:31:01.630215] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL [2012-02-02 16:31:27.363093] E [fuse-resolve.c:192:fuse_resolve_gfid] 0-glusterfs-fuse: xl is NULL
After patches 8e81cbacc53adc77bc4eabb5a26d6d13012f5f86 (bug 785675) fixed the fuse graph switch issue, the above failure is not seen. But setfacl still fails, with invalid argument error. This is because in stat-prefetch layer, loc->name is checked in sp_setxattr, even when loc->gfid is not present.
We no longer see this issue, as stat-prefetch is phased out (in favour md-cache). setfacl works with graph changes
Verified with 3.3.0qa25.