From Bugzilla Helper: User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.4.2-2smp i686) Mutt is used to read mail from a directory mounted via a Solaris nfs server. The inbox is accessible, but refuses to open R/W. An strace shows that an fcntl(2) syscall with F_SETLKW parm returns ENOLCK when applied to the file Reproducible: Always Steps to Reproduce: 1. Upgrade to kernel-2.2.19-6.2.1 + nfs-utils-0.1.6-2 2. Reboot 3. Try to lock a file on an nfs mounted partition using fcntl(2). The user reports that mail could be read in this manner prior to upgrading to kernel-2.2.19-6.2.1 + nfs-utils-0.3.1-0.6.x. Downgrading nfs-utils to 0.1.6-2 fixes the problem.
Created attachment 16285 [details] Strace of mutt trying to mount from Solaris server
1082 fcntl(3, F_SETLK, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0}) = -1 ENOLCK (No locks available) Thanks. The new nfs utils are for some reason not setting up locking. That would appear not to be a kernel bug but an nfs utils one. ENOLOCK is returned when there is no lockd running on the server _or_ the client forgot to set up locking.
According to person who originally reported the bug, he has verified that lockd is running on the client. He also upgraded to nfs-utils-0.3.1-0.6.x.1 with no effect. Here is the output of rpcinfo for his two servers (Solaris 7 and 8, respectively): program vers proto port service 100000 4 tcp 111 rpcbind 100000 3 tcp 111 rpcbind 100000 2 tcp 111 rpcbind 100000 4 udp 111 rpcbind 100000 3 udp 111 rpcbind 100000 2 udp 111 rpcbind 100004 2 udp 748 ypserv 100004 1 udp 748 ypserv 100004 1 tcp 749 ypserv 100004 2 tcp 32771 ypserv 100007 3 udp 32775 ypbind 100007 2 udp 32775 ypbind 100007 1 udp 32775 ypbind 100007 3 tcp 32772 ypbind 100007 2 tcp 32772 ypbind 100007 1 tcp 32772 ypbind 100021 1 udp 4045 nlockmgr 100021 2 udp 4045 nlockmgr 100021 3 udp 4045 nlockmgr 100021 4 udp 4045 nlockmgr 100001 2 udp 32786 rstatd 100001 3 udp 32786 rstatd 100001 4 udp 32786 rstatd 100068 2 udp 32788 rpc.cmsd 100068 3 udp 32788 rpc.cmsd 100068 4 udp 32788 rpc.cmsd 100083 1 tcp 32783 rpc.ttdbserverd 100021 1 tcp 4045 nlockmgr 100021 2 tcp 4045 nlockmgr 100021 3 tcp 4045 nlockmgr 100021 4 tcp 4045 nlockmgr 100024 1 udp 32808 status 100024 1 tcp 32788 status 100133 1 udp 32808 100133 1 tcp 32788 100005 1 udp 33002 mountd 100005 2 udp 33002 mountd 100005 3 udp 33002 mountd 100005 1 tcp 32806 mountd 100005 2 tcp 32806 mountd 100005 3 tcp 32806 mountd 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100227 2 udp 2049 nfs_acl 100227 3 udp 2049 nfs_acl 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100227 2 tcp 2049 nfs_acl 100227 3 tcp 2049 nfs_acl 100026 1 udp 983 bootparam 100249 1 udp 33064 100249 1 tcp 32825 200 1 udp 677 200 1 tcp 678 100068 2 tcp 32854 rpc.cmsd 100068 3 tcp 32854 rpc.cmsd 100068 4 tcp 32854 rpc.cmsd 100068 5 tcp 32854 rpc.cmsd 390113 1 tcp 7937 100232 10 udp 61759 sadmind 100011 1 udp 61760 rquotad 100002 2 udp 61761 rusersd 100002 3 udp 61761 rusersd 100002 2 tcp 40882 rusersd 100002 3 tcp 40882 rusersd 100012 1 udp 61762 sprayd 100008 1 udp 61763 walld 100221 1 tcp 40892 program vers proto port service 100000 4 tcp 111 rpcbind 100000 3 tcp 111 rpcbind 100000 2 tcp 111 rpcbind 100000 4 udp 111 rpcbind 100000 3 udp 111 rpcbind 100000 2 udp 111 rpcbind 100004 2 udp 1023 ypserv 100004 1 udp 1023 ypserv 100004 1 tcp 1023 ypserv 100004 2 tcp 32771 ypserv 100007 3 udp 32775 ypbind 100007 2 udp 32775 ypbind 100007 1 udp 32775 ypbind 100007 3 tcp 32772 ypbind 100007 2 tcp 32772 ypbind 100007 1 tcp 32772 ypbind 100011 1 udp 32780 rquotad 100002 2 udp 32781 rusersd 100002 3 udp 32781 rusersd 100002 2 tcp 32773 rusersd 100002 3 tcp 32773 rusersd 100021 1 udp 4045 nlockmgr 100021 2 udp 4045 nlockmgr 100012 1 udp 32782 sprayd 100021 3 udp 4045 nlockmgr 100021 4 udp 4045 nlockmgr 100021 1 tcp 4045 nlockmgr 100021 2 tcp 4045 nlockmgr 100021 3 tcp 4045 nlockmgr 100008 1 udp 32784 walld 100021 4 tcp 4045 nlockmgr 100001 2 udp 32789 rstatd 100001 3 udp 32789 rstatd 100001 4 udp 32789 rstatd 100024 1 udp 32791 status 100024 1 tcp 32774 status 100133 1 udp 32791 100083 1 tcp 32778 100133 1 tcp 32774 100221 1 tcp 32782 100235 1 tcp 32786 100068 2 udp 32805 100068 3 udp 32805 100068 4 udp 32805 100068 5 udp 32805 100005 1 udp 32851 mountd 100005 2 udp 32851 mountd 100005 3 udp 32851 mountd 100005 1 tcp 32807 mountd 100005 2 tcp 32807 mountd 100005 3 tcp 32807 mountd 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100227 2 udp 2049 nfs_acl 100227 3 udp 2049 nfs_acl 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100227 2 tcp 2049 nfs_acl 100227 3 tcp 2049 nfs_acl 100026 1 udp 868 bootparam 390113 1 tcp 7937 nsrexecd
All tracking of the reporter is lost, because Bob filed it himself.