NFS locking question

Kris Kennaway kris at obsecurity.org
Tue Aug 15 14:34:38 UTC 2006


On Tue, Aug 15, 2006 at 07:49:10PM +0800, Rong-en Fan wrote:
> On 8/15/06, Kris Kennaway <kris at obsecurity.org> wrote:
> >On Tue, Aug 15, 2006 at 11:59:50AM +0200, Morten A. Middelthon wrote:
> >> On Tue, Feb 28, 2006 at 05:21:50AM -0500, Kris Kennaway wrote:
> >> > On Tue, Feb 28, 2006 at 11:14:53AM +0100, Patrick M. Hausen wrote:
> >> > > Hi, all!
> >> > >
> >> > > In our local office network we have a rather old FreeBSD 5.2.1
> >> > > server acting as an NFS server for several other systems, mostly
> >> > > running 6.0.
> >> > >
> >> > > >From time to time we experience processes on the NFS clients
> >> > > hanging in statd "D" with wchan "lockd" when accessing files
> >> > > over NFS.
> >> >
> >> > Try the attached patch on the 6.0 machines:
> >> >
> >> > Index: usr.sbin/rpc.lockd/lock_proc.c
> >> <snip>
> >>
> >> Hi,
> >>
> >> I have been plagued with this NFS lockd issue for quite some time now. 
> >It has
> >> kept me from installing FreeBSD 6.x on our workstations at work. I just 
> >tried
> >> applying your patch to my own 6.1-RELEASE-p3 workstation, and so far it 
> >has
> >> been working nicely. Has anyone else had the same experience? If so, 
> >maybe it
> >> should go into production?
> >
> >I was unable to obtain confirmation from anyone else (including the
> >submitter who previously claimed it was necessary, and my own testing)
> >that the patch actually solved a problem.  Since it involves reverting
> >useful functionality, someone would need to obtain further debugging
> >from your system (tcpdump traces before/after, etc) to determine what
> >it's actually solving.
> >
> >Kris
> 
> In my experiences, rpc.lockd dies automatically on both server and
> client. If this happens, then all processes that want to lock a file, they
> will be stuck in lockd (top will tell). In my case, rpc.lockd dies because
> write failed, and then a SIGPIPE generated. Two months ago, bin/97768
> is sent and rodrigc@ committed (also MFC'ed in RELENG_6). That PR
> ignores SIGPIPE (since the code in server/client already takes care of
> write failed case). After I applied this PR, I'm quite happy with nfs 
> locking.

That's good to hear, but there are many other fundamental problems
with the current rpc.lockd implementation in various situations, which
can probably only be solved by a substantial rewrite.

Kris

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20060815/f3b71759/attachment.pgp


More information about the freebsd-stable mailing list