[Gluster-users] Bug in gfs_serialize_reply?

Сергей П.Воронин voronin at tdiag.ru
Mon Mar 21 14:23:21 UTC 2011


Some strange bug:

[buddie at db01 test]$ uname -a
Linux db01 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

[buddie at db01 test]$ rpm -q glusterfs-core
glusterfs-core-3.1.3-1

[buddie at db01 test]$ mount|grep gluster
glusterfs#/etc/glusterfs/backup.vol on /mnt/backup type fuse (rw,allow_other,default_permissions,max_read=131072)

[buddie at db01 test]$ pwd
/mnt/backup/1/test

[buddie at db01 test]$ ls -la
total 16
drwxr-xr-x 2 buddie root 4096 Mar 21 19:08 .
drwxr-xr-x 4 root   root 4096 Mar 21 19:08 ..
[buddie at db01 test]$ touch d88946-001
[buddie at db01 test]$ ls -la d88946-001
-rw-rw-r-- 1 buddie buddie 0 Mar 21 19:08 d88946-001
[buddie at db01 test]$ dd if=/dev/zero of=d88946-001 bs=130830 count=1
1+0 records in
1+0 records out
130830 bytes (131 kB) copied, 0.003188 seconds, 41.0 MB/s
[buddie at db01 test]$ ls -la d88946-001
-rw-rw-r-- 1 buddie buddie 130830 Mar 21 19:08 d88946-001
[buddie at db01 test]$ rm -f d88946-001
[buddie at db01 test]$ dd if=/dev/zero of=d88946-001 bs=130831 count=1
1+0 records in
1+0 records out
130831 bytes (131 kB) copied, 0.010456 seconds, 12.5 MB/s
[buddie at db01 test]$ ls -la d88946-001
ls: d88946-001: Invalid argument
[buddie at db01 test]$

Oppps... What is "invalid argument"? On a server side I see this file:
[buddie at alpha test]$ ls -la d88946-001
-rw-rw-r-- 1 buddie buddie 130831 Mar 21 19:09 d88946-001

Come back to client:
[buddie at db01 test]$ dd if=/dev/zero of=different-file bs=13083100 count=1
1+0 records in
1+0 records out
13083100 bytes (13 MB) copied, 0.330474 seconds, 39.6 MB/s
[buddie at db01 test]$ ls -la different-file
-rw-rw-r-- 1 buddie buddie 13083100 Mar 21 19:10 different-file
[buddie at db01 test]$

With any different filename or filesize all works fine.

Logs on client:
-----------------------------------------------
[2011-03-21 19:09:17.411876] E [client3_1-fops.c:1898:client3_1_lookup_cbk] 0-: error
[2011-03-21 19:09:17.411915] W [fuse-bridge.c:184:fuse_entry_cbk] 0-glusterfs-fuse: 5014: LOOKUP() /1/test/d88946-001 => -1 (Invalid argument)
-----------------------------------------------

Logs on server:
-----------------------------------------------
[2011-03-21 19:09:19.103320] E [server.c:67:gfs_serialize_reply] 0-: Failed to encode message
-----------------------------------------------


More information about the Gluster-users mailing list