Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Nov 2010 09:24:07 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        josh carroll <josh.carroll@gmail.com>
Cc:        kib <kib@freebsd.org>, freebsd-stable@freebsd.org, jhb@freebsd.org
Subject:   Re: NFS deadlock (unkillable nfsd and no mounts work)
Message-ID:  <1984713101.142889.1288963447940.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <AANLkTikHKAL4m_fHjnoJBwFkD7xwKpa92uHLkMzzvm2p@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
> Greetings!
> 
> I'm having a problem with nfsd hanging and not serving mount points,
> during which time it can not not be killed. This problem started
> happening sometime after November 2nd, since kernel from 11/2 sources
> does not exhibit this problem.

Please try the attached patch, rick
ps: Starting about Monday I won't be able to do commits for about 3 weeks
    so, if this patch works, could someone else please commit it, thanks,
    rick

[-- Attachment #2 --]
--- nfs_serv.c.sav	2010-11-05 08:15:57.000000000 -0400
+++ nfs_serv.c	2010-11-05 08:18:40.000000000 -0400
@@ -3252,7 +3252,7 @@
 			nfhp->fh_fsid = nvp->v_mount->mnt_stat.f_fsid;
 			if ((error1 = VOP_VPTOFH(nvp, &nfhp->fh_fid)) == 0)
 				error1 = VOP_GETATTR(nvp, vap, cred);
-			if (vp == nvp)
+			if (usevget == 0 && vp == nvp)
 				vunref(nvp);
 			else
 				vput(nvp);

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