Bug 786777 - ENOENT while trying to set ACL after issuing volume set command
Summary: ENOENT while trying to set ACL after issuing volume set command
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: access-control
Version: mainline
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: shishir gowda
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 817967
TreeView+ depends on / blocked
 
Reported: 2012-02-02 11:25 UTC by Anush Shetty
Modified: 2013-12-09 01:29 UTC (History)
2 users (show)

Fixed In Version: glusterfs-3.4.0
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-07-24 17:40:37 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Anush Shetty 2012-02-02 11:25:49 UTC
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 07:17:41 UTC
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 09:23:23 UTC
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 08:49:56 UTC
Verified with 3.3.0qa25.


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