Help wanted: ENOCLK returned during lock test#2 in connectathon's test

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

 



Hi,

as you may know (we may have met at Bake-A-Thon), I am working on NFS-Ganesha, a NFS server running in userspace. I currently face an issue when running cthon04 test suite, during the "lock step". Client is linux 3.1.0-rc4, server is nfs-ganesha compiled with FSAL_VFS support. Server is mounted via command "mount -overs=4.minorversion=1,lock <server>:<path> /mnt"

During the test#2 in "lock" tests, I got the following error:

   Creating parent/child synchronization pipes.

   Test #2 - Try to lock the whole file.
           Parent: 2.0  - F_TLOCK [               0,          ENDING]
   FAILED!
           Parent: **** Expected success, returned errno=37...
           Parent: **** Probably implementation error.

   ** PARENT pass 1 results: 0/0 pass, 0/0 warn, 1/1 fail (pass/total).

   **  CHILD pass 1 results: 0/0 pass, 0/0 warn, 0/0 fail (pass/total).


I made a wireshark capture of the packet (see attachement). Apparently, the client does 2 compounds, one for OP4_OPEN and a second to call OP4_OPEN_CONFIRM.

On the client side, the "locl/locklfs" binary fails when calling lockf() (this is not the first time it calls it, it has been done in test#1 which passed successfully). Error return is ENOLCK (posix error #37). I enabled the kernel's debug message by using the command 'echo 32767 > /proc/sys/sunrpc/nfs_debug' (complete log in attachement, reduced to what is related to lock#2). Grepping 'NFS' in this shows this:

   Dec  5 13:31:08 aury63 kernel: NFS: nfs_update_inode(0:16/523265
   ct=2 info=0x27e7f)
   Dec  5 13:31:08 aury63 kernel: NFS: permission(0:16/523265),
   mask=0x1, res=0
   Dec  5 13:31:08 aury63 kernel: NFS: nfs_lookup_revalidate(/rep) is valid
   Dec  5 13:31:08 aury63 kernel: NFS: nfs_update_inode(0:16/544895
   ct=1 info=0x27e7f)
   Dec  5 13:31:08 aury63 kernel: NFS: permission(0:16/544895),
   mask=0x1, res=0
   Dec  5 13:31:08 aury63 kernel: NFS: permission(0:16/544895),
   mask=0x1, res=0
   Dec  5 13:31:08 aury63 kernel: NFS: atomic_lookup(0:16/544895),
   lockfile2908
   Dec  5 13:31:08 aury63 kernel: decode_attr_pnfstype: bitmap is 0
   Dec  5 13:31:08 aury63 kernel: nfs4_schedule_state_renewal:
   requeueing work. Lease period = 80
   Dec  5 13:31:08 aury63 kernel: --> nfs_put_client({2})
   Dec  5 13:31:08 aury63 kernel: <-- nfs4_setup_sequence status=0
   Dec  5 13:31:08 aury63 kernel: NFS: nfs_update_inode(0:16/544895
   ct=1 info=0x27e67)
   Dec  5 13:31:08 aury63 kernel: NFS: change_attr change on server for
   file 0:16/544895
   Dec  5 13:31:08 aury63 kernel: NFS: mtime change on server for file
   0:16/544895
   Dec  5 13:31:08 aury63 kernel: NFS: nfs_fhget(0:16/544930 ct=1)
   Dec  5 13:31:08 aury63 kernel: NFS: open file(rep/lockfile2908)
   Dec  5 13:31:08 aury63 kernel: NFS: permission(0:16/544930),
   mask=0x26, res=0
   Dec  5 13:31:08 aury63 kernel: NFS: lock(rep/lockfile2908, t=1,
   fl=1, r=0:9223372036854775807)

I can see no reason why ENOLCK is returned. This is clearly a bug on the server handside (within nfs-ganesha) but I have to know what the client is doing here to have a clearer idea. I ran the same test using NFSv4.1 and NFSv3+NLMv4, things go perfectly OK with no failure.

Can someone help me ?

   Regards

      Philippe

Attachment: bug_lock_2.pcap
Description: Binary data

Dec  5 13:31:08 aury63 kernel: encode_compound: tag=
Dec  5 13:31:08 aury63 kernel: decode_attr_type: type=040000
Dec  5 13:31:08 aury63 kernel: decode_attr_change: change attribute=1323082676
Dec  5 13:31:08 aury63 kernel: decode_attr_size: file size=856064
Dec  5 13:31:08 aury63 kernel: decode_attr_fsid: fsid=(0xc0/0xa8)
Dec  5 13:31:08 aury63 kernel: decode_attr_fileid: fileid=523265
Dec  5 13:31:08 aury63 kernel: decode_attr_fs_locations: fs_locations done, error = 0
Dec  5 13:31:08 aury63 kernel: decode_attr_mode: file mode=01777
Dec  5 13:31:08 aury63 kernel: decode_attr_nlink: nlink=14
Dec  5 13:31:08 aury63 kernel: decode_attr_owner: uid=0
Dec  5 13:31:08 aury63 kernel: decode_attr_group: gid=0
Dec  5 13:31:08 aury63 kernel: decode_attr_rdev: rdev=(0x0:0x0)
Dec  5 13:31:08 aury63 kernel: decode_attr_space_used: space used=860160
Dec  5 13:31:08 aury63 kernel: decode_attr_time_access: atime=1323081627
Dec  5 13:31:08 aury63 kernel: decode_attr_time_metadata: ctime=1323082676
Dec  5 13:31:08 aury63 kernel: decode_attr_time_modify: mtime=1323082676
Dec  5 13:31:08 aury63 kernel: decode_attr_mounted_on_fileid: fileid=0
Dec  5 13:31:08 aury63 kernel: decode_getfattr: xdr returned 0
Dec  5 13:31:08 aury63 kernel: NFS: nfs_update_inode(0:16/523265 ct=2 info=0x27e7f)
Dec  5 13:31:08 aury63 kernel: NFS: permission(0:16/523265), mask=0x1, res=0
Dec  5 13:31:08 aury63 kernel: NFS: nfs_lookup_revalidate(/rep) is valid
Dec  5 13:31:08 aury63 kernel: encode_compound: tag=
Dec  5 13:31:08 aury63 kernel: decode_attr_type: type=040000
Dec  5 13:31:08 aury63 kernel: decode_attr_change: change attribute=1323088137
Dec  5 13:31:08 aury63 kernel: decode_attr_size: file size=4096
Dec  5 13:31:08 aury63 kernel: decode_attr_fsid: fsid=(0xc0/0xa8)
Dec  5 13:31:08 aury63 kernel: decode_attr_fileid: fileid=544895
Dec  5 13:31:08 aury63 kernel: decode_attr_fs_locations: fs_locations done, error = 0
Dec  5 13:31:08 aury63 kernel: decode_attr_mode: file mode=0755
Dec  5 13:31:08 aury63 kernel: decode_attr_nlink: nlink=2
Dec  5 13:31:08 aury63 kernel: decode_attr_owner: uid=0
Dec  5 13:31:08 aury63 kernel: decode_attr_group: gid=0
Dec  5 13:31:08 aury63 kernel: decode_attr_rdev: rdev=(0x0:0x0)
Dec  5 13:31:08 aury63 kernel: decode_attr_space_used: space used=4096
Dec  5 13:31:08 aury63 kernel: decode_attr_time_access: atime=1323071853
Dec  5 13:31:08 aury63 kernel: decode_attr_time_metadata: ctime=1323088137
Dec  5 13:31:08 aury63 kernel: decode_attr_time_modify: mtime=1323088137
Dec  5 13:31:08 aury63 kernel: decode_attr_mounted_on_fileid: fileid=0
Dec  5 13:31:08 aury63 kernel: decode_getfattr: xdr returned 0
Dec  5 13:31:08 aury63 kernel: NFS: nfs_update_inode(0:16/544895 ct=1 info=0x27e7f)
Dec  5 13:31:08 aury63 kernel: NFS: permission(0:16/544895), mask=0x1, res=0
Dec  5 13:31:08 aury63 kernel: NFS: permission(0:16/544895), mask=0x1, res=0
Dec  5 13:31:08 aury63 kernel: NFS: atomic_lookup(0:16/544895), lockfile2908
Dec  5 13:31:08 aury63 kernel: encode_compound: tag=
Dec  5 13:31:08 aury63 kernel: encode_compound: tag=
Dec  5 13:31:08 aury63 kernel: decode_attr_lease_time: file size=120
Dec  5 13:31:08 aury63 kernel: decode_attr_maxfilesize: maxfilesize=0
Dec  5 13:31:08 aury63 kernel: decode_attr_maxread: maxread=1024
Dec  5 13:31:08 aury63 kernel: decode_attr_maxwrite: maxwrite=1024
Dec  5 13:31:08 aury63 kernel: decode_attr_pnfstype: bitmap is 0
Dec  5 13:31:08 aury63 kernel: decode_attr_layout_blksize: bitmap is 0
Dec  5 13:31:08 aury63 kernel: decode_fsinfo: xdr returned 0!
Dec  5 13:31:08 aury63 kernel: nfs4_schedule_state_renewal: requeueing work. Lease period = 80
Dec  5 13:31:08 aury63 kernel: --> nfs_put_client({2})
Dec  5 13:31:08 aury63 kernel: <-- nfs4_setup_sequence status=0
Dec  5 13:31:08 aury63 kernel: encode_compound: tag=
Dec  5 13:31:08 aury63 kernel: decode_attr_type: type=0100000
Dec  5 13:31:08 aury63 kernel: decode_attr_change: change attribute=1323088268
Dec  5 13:31:08 aury63 kernel: decode_attr_size: file size=0
Dec  5 13:31:08 aury63 kernel: decode_attr_fsid: fsid=(0xc0/0xa8)
Dec  5 13:31:08 aury63 kernel: decode_attr_fileid: fileid=544930
Dec  5 13:31:08 aury63 kernel: decode_attr_fs_locations: fs_locations done, error = 0
Dec  5 13:31:08 aury63 kernel: decode_attr_mode: file mode=0644
Dec  5 13:31:08 aury63 kernel: decode_attr_nlink: nlink=1
Dec  5 13:31:08 aury63 kernel: decode_attr_owner: uid=-2
Dec  5 13:31:08 aury63 kernel: decode_attr_group: gid=-2
Dec  5 13:31:08 aury63 kernel: decode_attr_rdev: rdev=(0x0:0x0)
Dec  5 13:31:08 aury63 kernel: decode_attr_space_used: space used=0
Dec  5 13:31:08 aury63 kernel: decode_attr_time_access: atime=1323088268
Dec  5 13:31:08 aury63 kernel: decode_attr_time_metadata: ctime=1323088268
Dec  5 13:31:08 aury63 kernel: decode_attr_time_modify: mtime=1323088268
Dec  5 13:31:08 aury63 kernel: decode_attr_mounted_on_fileid: fileid=0
Dec  5 13:31:08 aury63 kernel: decode_getfattr: xdr returned 0
Dec  5 13:31:08 aury63 kernel: decode_attr_type: type=040000
Dec  5 13:31:08 aury63 kernel: decode_attr_change: change attribute=1323088137
Dec  5 13:31:08 aury63 kernel: decode_attr_size: file size=4096
Dec  5 13:31:08 aury63 kernel: decode_attr_fsid: fsid=(0xc0/0xa8)
Dec  5 13:31:08 aury63 kernel: decode_attr_fileid: fileid=544895
Dec  5 13:31:08 aury63 kernel: decode_attr_fs_locations: fs_locations done, error = 0
Dec  5 13:31:08 aury63 kernel: decode_attr_mode: file mode=0755
Dec  5 13:31:08 aury63 kernel: decode_attr_nlink: nlink=2
Dec  5 13:31:08 aury63 kernel: decode_attr_owner: uid=-2
Dec  5 13:31:08 aury63 kernel: decode_attr_group: gid=-2
Dec  5 13:31:08 aury63 kernel: decode_attr_rdev: rdev=(0x0:0x0)
Dec  5 13:31:08 aury63 kernel: decode_attr_space_used: space used=4096
Dec  5 13:31:08 aury63 kernel: decode_attr_time_access: atime=1323071853
Dec  5 13:31:08 aury63 kernel: decode_attr_time_metadata: ctime=1323088268
Dec  5 13:31:08 aury63 kernel: decode_attr_time_modify: mtime=1323088268
Dec  5 13:31:08 aury63 kernel: decode_attr_mounted_on_fileid: fileid=0
Dec  5 13:31:08 aury63 kernel: decode_getfattr: xdr returned 0
Dec  5 13:31:08 aury63 kernel: NFS: nfs_update_inode(0:16/544895 ct=1 info=0x27e67)
Dec  5 13:31:08 aury63 kernel: NFS: change_attr change on server for file 0:16/544895
Dec  5 13:31:08 aury63 kernel: NFS: mtime change on server for file 0:16/544895
Dec  5 13:31:08 aury63 kernel: encode_compound: tag=
Dec  5 13:31:08 aury63 kernel: NFS: nfs_fhget(0:16/544930 ct=1)
Dec  5 13:31:08 aury63 kernel: NFS: open file(rep/lockfile2908)
Dec  5 13:31:08 aury63 kernel: NFS: permission(0:16/544930), mask=0x26, res=0
Dec  5 13:31:08 aury63 kernel: NFS: lock(rep/lockfile2908, t=1, fl=1, r=0:9223372036854775807)

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux