gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gluster-devel] fchmod glitch in 1.4 tla?


From: Amar S. Tumballi
Subject: Re: [Gluster-devel] fchmod glitch in 1.4 tla?
Date: Wed, 23 Jul 2008 13:23:37 -0700

Brent,
 When you say 'error is gone' you are telling about fchmod error? or the
setxattr logs?

A general rule on GNU/Linux system is, xattrs  supports only

"user.<anything>", "trusted.<anything>" and "system.<anything>", as key. and
with noacl, the "system.posix_acl_default" and "system.posix_acl_access"
keys too return EOPNOTSUP errno. Hence the log in afr_setxattr. (Actually
whenever this particular errno is returned to application, they neglect it,
and proceed, so user won't know about this). The right fix is to correct the
log entry for afr, not to show up if the errno is EOPNOTSUP. (which is done
in other places like unify, fuse, and posix). So, this error msg is
harmless.

I am concerned about the EIO for fchmod, is it reprodicible with noacl flag
set for backend fs?  (sorry for me not testing atm, my test nodes are down
as of now). So, I can have the right fix for it not before tomorrow.

Thanks for detailed bug report and finding out the cause for it.

Regards,
Amar

2008/7/23 Brent A Nelson <address@hidden>:

> I think I've found the culprit.  It was due to having mounted with noacl.
> cp -a attempts ACL operations, which fail wiht noacl mounts, but GlusterFS
> was apparently remembering that error and passing it as the return for
> fchmod.  With the filesystems mounted with acl support, the error is gone.
>
> Here is the glusterfs log from "cp -a /bin/ls /beast" when the filesystems
> were mounted with noacl:
>
> 2008-07-23 15:59:19 D [fuse-bridge.c:363:fuse_entry_cbk] glusterfs-fuse:
> 34: (op_num=34) / => 1
> 2008-07-23 15:59:19 D [fuse-bridge.c:505:fuse_lookup] glusterfs-fuse: 35:
> LOOKUP /ls
> 2008-07-23 15:59:19 D [fuse-bridge.c:443:fuse_entry_cbk] glusterfs-fuse:
> 35: (op_num=34) /ls => -1 (No such file or directory)
> 2008-07-23 15:59:19 D [inode.c:397:__passive_inode] fuse/inode: purging
> inode(0) lru=5/0
> 2008-07-23 15:59:19 D [fuse-bridge.c:505:fuse_lookup] glusterfs-fuse: 36:
> LOOKUP /ls
> 2008-07-23 15:59:19 D [fuse-bridge.c:443:fuse_entry_cbk] glusterfs-fuse:
> 36: (op_num=34) /ls => -1 (No such file or directory)
> 2008-07-23 15:59:19 D [inode.c:397:__passive_inode] fuse/inode: purging
> inode(0) lru=5/0
> 2008-07-23 15:59:19 D [fuse-bridge.c:1511:fuse_create] glusterfs-fuse: 37:
> CREATE /ls
> 2008-07-23 15:59:19 D [fuse-bridge.c:1383:fuse_create_cbk] glusterfs-fuse:
> 37: (op_num=27) /ls => 0xb4b01170
> 2008-07-23 15:59:19 D [inode.c:569:__create_inode] fuse/inode: create
> inode(30044)
> 2008-07-23 15:59:19 D [inode.c:362:__active_inode] fuse/inode: activating
> inode(30044), lru=5/0
> 2008-07-23 15:59:19 D [inode.c:397:__passive_inode] fuse/inode: purging
> inode(0) lru=5/0
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 38:
> WRITE (0xb4b01170, size=8192, offset=0)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 38: WRITE => 8192/8192,0/8192
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 39:
> WRITE (0xb4b01170, size=8192, offset=8192)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 39: WRITE => 8192/8192,8192/16384
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 40:
> WRITE (0xb4b01170, size=8192, offset=16384)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 40: WRITE => 8192/8192,16384/24576
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 41:
> WRITE (0xb4b01170, size=8192, offset=24576)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 41: WRITE => 8192/8192,24576/32768
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 42:
> WRITE (0xb4b01170, size=8192, offset=32768)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 42: WRITE => 8192/8192,32768/40960
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 43:
> WRITE (0xb4b01170, size=8192, offset=40960)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 43: WRITE => 8192/8192,40960/49152
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 44:
> WRITE (0xb4b01170, size=8192, offset=49152)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 44: WRITE => 8192/8192,49152/57344
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 45:
> WRITE (0xb4b01170, size=8192, offset=57344)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 45: WRITE => 8192/8192,57344/65536
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 46:
> WRITE (0xb4b01170, size=8192, offset=65536)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 46: WRITE => 8192/8192,65536/73728
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 47:
> WRITE (0xb4b01170, size=8192, offset=73728)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 47: WRITE => 8192/8192,73728/81920
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 48:
> WRITE (0xb4b01170, size=8192, offset=81920)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 48: WRITE => 8192/8192,81920/90112
> 2008-07-23 15:59:19 D [fuse-bridge.c:1682:fuse_write] glusterfs-fuse: 49:
> WRITE (0xb4b01170, size=2264, offset=90112)
> 2008-07-23 15:59:19 D [fuse-bridge.c:1644:fuse_writev_cbk] glusterfs-fuse:
> 49: WRITE => 2264/2264,90112/92376
> 2008-07-23 15:59:19 D [fuse-bridge.c:878:do_utimes] glusterfs-fuse: 50:
> UTIMENS /ls
> 2008-07-23 15:59:19 D [fuse-bridge.c:564:fuse_attr_cbk] glusterfs-fuse: 50:
> (op_num=31) /ls => 30044
> 2008-07-23 15:59:19 D [fuse-bridge.c:2140:fuse_setxattr] glusterfs-fuse:
> 51: SETXATTR /ls/30044 (system.posix_acl_access)
> 2008-07-23 15:59:19 E [afr.c:1145:afr_setxattr_cbk] mirror0: (path=/ls
> child=share0-0) op_ret=-1 op_errno=95(Operation not supported)
> 2008-07-23 15:59:19 E [afr.c:1145:afr_setxattr_cbk] mirror0: (path=/ls
> child=share0-1) op_ret=-1 op_errno=95(Operation not supported)
> 2008-07-23 15:59:19 D [unify.c:2980:unify_setxattr_cbk] mirrors:
> child(mirror0): path(): Operation not supported
> 2008-07-23 15:59:19 D [fuse-bridge.c:721:do_chmod] glusterfs-fuse: 52:
> FCHMOD 0xb4b01170
> 2008-07-23 15:59:19 D [fuse-bridge.c:564:fuse_attr_cbk] glusterfs-fuse: 52:
> (op_num=32) ERR => 0
> 2008-07-23 15:59:19 D [fuse-bridge.c:1733:fuse_release] glusterfs-fuse: 53:
> CLOSE 0xb4b01170
> 2008-07-23 15:59:19 D [fuse-bridge.c:924:fuse_err_cbk] glusterfs-fuse: 53:
> (op_num=17) ERR => 0
> 2008-07-23 15:59:19 D [inode.c:393:__passive_inode] fuse/inode: passivating
> inode(30044) lru=6/0
>
> Thanks,
>
> Brent
>
>


-- 
Amar Tumballi
Gluster/GlusterFS Hacker
[bulde on #gluster/irc.gnu.org]
http://www.zresearch.com - Commoditizing Super Storage!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]