Bug 37464 - Locking busted between Linux client and Solaris server in 2.2.19
Locking busted between Linux client and Solaris server in 2.2.19
Status: CLOSED WORKSFORME
Product: Red Hat Linux
Classification: Retired
Component: nfs-utils (Show other bugs)
6.2
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Pete Zaitcev
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-04-24 15:19 EDT by Pete Zaitcev
Modified: 2007-04-18 12:32 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-06-03 23:47:30 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Strace of mutt trying to mount from Solaris server (26.12 KB, text/plain)
2001-04-24 15:21 EDT, Bob Matthews
no flags Details

  None (edit)
Description Bob Matthews 2001-04-24 15:19:29 EDT
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.
Comment 1 Bob Matthews 2001-04-24 15:21:35 EDT
Created attachment 16285 [details]
Strace of mutt trying to mount from Solaris server
Comment 2 Alan Cox 2001-04-24 15:58:09 EDT
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.
Comment 3 Bob Matthews 2001-04-24 16:15:36 EDT
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
Comment 4 Pete Zaitcev 2003-06-03 23:47:30 EDT
All tracking of the reporter is lost, because Bob filed it himself.

Note You need to log in before you can comment on or make changes to this bug.