This patchset fixes a race in the nfs_node code.  Basically the
    issue is that it is possible for the nfsnode (and the vnode) to
    get ripped out from under us if vget() sleeps, so we have to retry
    the operation.

    I'd like to MFC this one to -stable.

                                        -Matt
                                        Matthew Dillon 
                                        <[EMAIL PROTECTED]>

Index: nfs/nfs_node.c
===================================================================
RCS file: /home/ncvs/src/sys/nfs/Attic/nfs_node.c,v
retrieving revision 1.36.2.2
diff -u -r1.36.2.2 nfs_node.c
--- nfs/nfs_node.c      26 Jun 2001 04:20:10 -0000      1.36.2.2
+++ nfs/nfs_node.c      27 Dec 2001 19:27:09 -0000
@@ -115,7 +115,7 @@
                    bcmp((caddr_t)fhp, (caddr_t)np->n_fhp, fhsize))
                        continue;
                vp = NFSTOV(np);
-               if (vget(vp, LK_EXCLUSIVE, p))
+               if (vget(vp, LK_EXCLUSIVE|LK_SLEEPFAIL, p))
                        goto loop;
                *npp = np;
                return(0);

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to