Date: Fri, 18 Apr 1997 10:30:03 -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: <199704181730.KAA19924@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
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!lakes.water.net!rivers, ponds!sat.t.u-tokyo.ac.jp!simokawa Cc: ponds!freefall.freebsd.org!freebsd-gnats-submit Subject: Re: kern/3304: NFS V2 readdir hangs Date: Fri, 18 Apr 1997 13:04:18 -0400 (EDT) > > Hi, > > I'm not sure whether this will help you, but could you try the following > patch? the latest change to nfs_socket.c was originally made by me. > I have been worried about a rare case. It would be a rare case I believe.... But - I did try your patch; it did not affect the problem. That is, the hang still occurs. If you've had a chance to read it; I've posted my current understanding of the problem to freebsd-hackers. I believe it is caused by a nfs_lookup() call that calls nfs_request() before the nfs_request() (which originated in readdirrpc()) has completed. - Dave Rivers - > > /\ Hidetoshi Shimokawa > \/ simokawa@sat.t.u-tokyo.ac.jp > PGP public key: finger -l simokawa@sat.t.u-tokyo.ac.jp > > --- nfs_socket.c.orig Fri Oct 11 19:15:33 1996 > +++ nfs_socket.c Sat Apr 19 00:43:25 1997 > @@ -1490,6 +1490,12 @@ > slpflag = PCATCH; > else > slpflag = 0; > +#if 1 > + if (!(*flagp & NFSMNT_RCVLOCK) && (rep->r_mrep != NULL)) { > + printf("Oops! I found the bug :-)\n"); > + return (EALREADY); > + } > +#endif > while (*flagp & NFSMNT_RCVLOCK) { > if (nfs_sigintr(rep->r_nmp, rep, rep->r_procp)) > return (EINTR); > > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704181730.KAA19924>