Bug 786777 - ENOENT while trying to set ACL after issuing volume set command
ENOENT while trying to set ACL after issuing volume set command
Status: CLOSED CURRENTRELEASE
Product: GlusterFS
Classification: Community
Component: access-control (Show other bugs)
mainline
Unspecified Unspecified
high Severity high
: ---
: ---
Assigned To: shishir gowda
:
Depends On:
Blocks: 817967
  Show dependency treegraph
 
Reported: 2012-02-02 06:25 EST by Anush Shetty
Modified: 2013-12-08 20:29 EST (History)
2 users (show)

See Also:
Fixed In Version: glusterfs-3.4.0
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-07-24 13:40:37 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Anush Shetty 2012-02-02 06:25:49 EST
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
Comment 1 shishir gowda 2012-02-09 02:17:41 EST
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.
Comment 2 shishir gowda 2012-02-21 04:23:23 EST
We no longer see this issue, as stat-prefetch is phased out (in favour md-cache).
setfacl works with graph changes
Comment 3 Anush Shetty 2012-03-07 03:49:56 EST
Verified with 3.3.0qa25.

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