Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Apr 1997 09:30:02 -0700 (PDT)
From:      Thomas David Rivers <ponds!rivers@dg-rtp.dg.com>
To:        freebsd-bugs
Subject:   Re: kern/3304: NFS V2 readdir hangs
Message-ID:  <199704171630.JAA18888@freefall.freebsd.org>

index | next in thread | raw e-mail

The following reply was made to PR kern/3304; it has been noted by GNATS.

From: Thomas David Rivers <ponds!rivers@dg-rtp.dg.com>
To: ponds!freebsd.org!gpalmer, ponds!lakes.water.net!rivers
Cc: ponds!freebsd.org!FreeBSD-gnats-submit
Subject: Re: kern/3304: NFS V2 readdir hangs
Date: Thu, 17 Apr 1997 12:03:42 -0400 (EDT)

 > 
 > Thomas David Rivers wrote in message ID
 > <199704160209.WAA01541@lakes.water.net>:
 > >   Mount a V2 NFS server (I've tried both Sunos 4.1.3 and HP/UX 9.05),
 > >  go to a rather large directory and do "ls -l".  The ls -l will hang
 > >  in sbwait().  This apparently also needs a rather slow network
 > >  for a reliable reproduction - that is, it's somewhat timing dependent.
 > 
 > I recently did something similar (ls -l on a 16,000 file directory)
 > across NFS on a recent RELENG_2_2 box which was mounting /var/mail
 > from a 2.1.x based mail server. Worked fine. This was probably 2 or 3
 > weeks ago... I'll try again if you like.
 
  Some more information I've just deduced.
 
  It appears that nfs_receive() calls soreceive() which calls sbwait()
 waiting on a UDP packet to be received..  That's fine.
 
  Then, another nfs_request() is issued; calling nfs_receive() which
 winds down to sbwait() as well.
 
  The key here is that both of these are waiting on the *same* address.
 
  Then, the udp packet from the first call is received; we wake up the
 *second* caller and get everything out-of-sync.  With udp packets
 out-of-sync; we eventually get an error situation in nfs_reply()
 and indicate a "stale" server condition.
 
  I haven't yet determined how this is happening; but printf()s in 
 my kernel indicate that's what's going on.
 
  That also explains how timing is important for this problem...
 
 	- Dave Rivers -
 


help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704171630.JAA18888>