gluster-devel
[Top][All Lists]
Advanced

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

[Gluster-devel] Problem with replicate on XFS


From: JV
Subject: [Gluster-devel] Problem with replicate on XFS
Date: Wed, 13 May 2009 13:08:02 +0300
User-agent: Mozilla-Thunderbird 2.0.0.19 (X11/20090103)

Hello.
There seems to be a problem with repliacte on XFS backends.
It works fine with ext4, but fails on xfs.

I cannot create deep directory trees (more than 2 levels), it always fails.

As far as I can tell  problem arises from ino_t being of type "long long unsigned int", 
but fuse_ino_t is only "long unsigned int".



Relevant portions of client debug log, when doing ls -l on 
/mnt/glusterfs-test/temp/

Structure should be /mnt/glusterfs-test/temp/archive3/2009/....

Directory archive3 gets created on bricks.

2009-05-13 12:54:11 D [fuse-bridge.c:2496:fuse_root_lookup_cbk] fuse: first 
lookup on root succeeded.
2009-05-13 12:54:11 D [fuse-bridge.c:453:fuse_lookup] glusterfs-fuse: 2: LOOKUP 
/temp
2009-05-13 12:54:11 D [inode.c:487:__inode_create] fuse/inode: create inode(0)
2009-05-13 12:54:11 D [inode.c:309:__inode_activate] fuse/inode: activating 
inode(0), lru=0/0 active=2 purge=0
2009-05-13 12:54:11 D [fuse-bridge.c:368:fuse_entry_cbk] glusterfs-fuse: 2: 
LOOKUP() /temp => 264 (0)
2009-05-13 12:54:11 D [inode.c:94:__dentry_hash] fuse/inode: dentry hashed temp 
(264)
2009-05-13 12:54:11 D [inode.c:328:__inode_passivate] fuse/inode: passivating 
inode(264) lru=1/0 active=1 purge=0
2009-05-13 12:54:11 D [inode.c:309:__inode_activate] fuse/inode: activating 
inode(264), lru=0/0 active=2 purge=0
2009-05-13 12:54:11 D [fuse-bridge.c:2229:fuse_getxattr] glusterfs-fuse: 3: 
GETXATTR /temp/264 (security.selinux)
2009-05-13 12:54:11 D [fuse-bridge.c:2064:fuse_xattr_cbk] glusterfs-fuse: 3: 
GETXATTR() /temp => 0
2009-05-13 12:54:11 D [inode.c:328:__inode_passivate] fuse/inode: passivating 
inode(264) lru=1/0 active=1 purge=0
2009-05-13 12:54:11 D [inode.c:309:__inode_activate] fuse/inode: activating 
inode(264), lru=0/0 active=2 purge=0
2009-05-13 12:54:11 D [fuse-bridge.c:1750:fuse_opendir] glusterfs-fuse: 6: 
OPENDIR /temp
2009-05-13 12:54:11 D [fuse-bridge.c:652:fuse_fd_cbk] glusterfs-fuse: 6: OPENDIR() 
/temp => 0x81926c0
2009-05-13 12:54:11 D [fuse-bridge.c:1837:fuse_readdir] glusterfs-fuse: 7: 
READDIR (0x81926c0, size=4096, offset=0)
2009-05-13 12:54:11 D [fuse-bridge.c:1783:fuse_readdir_cbk] glusterfs-fuse: 7: 
READDIR => 3/4096,0
2009-05-13 12:54:11 D [fuse-bridge.c:607:fuse_getattr] glusterfs-fuse: 8: 
GETATTR 264 (/temp)
2009-05-13 12:54:11 D [fuse-bridge.c:523:fuse_attr_cbk] glusterfs-fuse: 8: STAT() 
/temp => 264
2009-05-13 12:54:11 D [fuse-bridge.c:2229:fuse_getxattr] glusterfs-fuse: 9: 
GETXATTR /temp/264 (security.selinux)
2009-05-13 12:54:11 D [fuse-bridge.c:2064:fuse_xattr_cbk] glusterfs-fuse: 9: 
GETXATTR() /temp => 0
2009-05-13 12:54:11 D [fuse-bridge.c:368:fuse_entry_cbk] glusterfs-fuse: 12: 
LOOKUP() / => 1 (1)
2009-05-13 12:54:11 D [fuse-bridge.c:2229:fuse_getxattr] glusterfs-fuse: 13: 
GETXATTR //1 (security.selinux)
2009-05-13 12:54:11 D [fuse-bridge.c:2064:fuse_xattr_cbk] glusterfs-fuse: 13: 
GETXATTR() / => 0
2009-05-13 12:54:11 D [fuse-bridge.c:453:fuse_lookup] glusterfs-fuse: 16: 
LOOKUP /temp/archive3
2009-05-13 12:54:11 D [inode.c:487:__inode_create] fuse/inode: create inode(0)
2009-05-13 12:54:11 D [inode.c:309:__inode_activate] fuse/inode: activating 
inode(0), lru=0/0 active=3 purge=0
2009-05-13 12:54:11 D [fuse-bridge.c:368:fuse_entry_cbk] glusterfs-fuse: 16: 
LOOKUP() /temp/archive3 => 4296016129 (0)
2009-05-13 12:54:11 D [inode.c:94:__dentry_hash] fuse/inode: dentry hashed 
archive3 (4296016129)
2009-05-13 12:54:11 D [inode.c:328:__inode_passivate] fuse/inode: passivating 
inode(4296016129) lru=1/0 active=2 purge=0
2009-05-13 12:54:11 E [fuse-bridge.c:279:fuse_loc_fill] fuse-bridge: failed to 
search parent for 0/(null) (1048833)
2009-05-13 12:54:11 E [fuse-bridge.c:2220:fuse_getxattr] glusterfs-fuse: 17: 
GETXATTR (null)/1048833 (security.selinux) (fuse_loc_fill() failed)
2009-05-13 12:54:11 D [fuse-bridge.c:1837:fuse_readdir] glusterfs-fuse: 18: 
READDIR (0x81926c0, size=4096, offset=512)
2009-05-13 12:54:11 D [fuse-bridge.c:1783:fuse_readdir_cbk] glusterfs-fuse: 18: 
READDIR => 0/4096,512
2009-05-13 12:54:11 D [fuse-bridge.c:1855:fuse_releasedir] glusterfs-fuse: 19: 
RELEASEDIR 0x81926c0


As far as I can tell problematic lines are:


2009-05-13 12:54:11 D [fuse-bridge.c:368:fuse_entry_cbk] glusterfs-fuse: 16: 
LOOKUP() /temp/archive3 => 4296016129 (0)
Which clearly tells us that inode is 4296016129

2009-05-13 12:54:11 E [fuse-bridge.c:279:fuse_loc_fill] fuse-bridge: failed to 
search parent for 0/(null) (1048833)
Which tels us that fuse_loc_fill gets inode as 1048833

4296016129 - (max long unsigned int)4294967295 == 1048834




Nothing of interest is in configs - just plain export/locks on server and 
import/replicate on client.

Kernel is 2.6.29.1, gcc 4.3 from debian stable

Im I right assuming that problem with variable types couses this behaviour?

JV




reply via email to

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