Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Oct 2005 17:14:23 +0400
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        Peter Holm <peter@holm.cc>
Cc:        current@FreeBSD.org
Subject:   Re: panic: mutex nfsd_mtx owned at nfsserver/nfs_serv.c:2160
Message-ID:  <20051026131423.GH41520@cell.sick.ru>
In-Reply-To: <20051026130926.GA41293@peter.osted.lan>
References:  <20051026072337.GA31319@peter.osted.lan> <20051026083147.GA41520@cell.sick.ru> <20051026130926.GA41293@peter.osted.lan>

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

--bGR76rFJjkSxVeRa
Content-Type: text/plain; charset=koi8-r
Content-Disposition: inline

On Wed, Oct 26, 2005 at 03:09:26PM +0200, Peter Holm wrote:
P> > On Wed, Oct 26, 2005 at 09:23:37AM +0200, Peter Holm wrote:
P> > P> While stress testing RELENG_6_0 with a nfs mounted file system on a 
P> > P> box running HEAD from Oct 24 13:21 UTC I got this panic (on HEAD):
P> > P> http://people.freebsd.org/~pho/stress/log/nfsd.html
P> > 
P> > let's try out this one.
P> > 
P> 
P> With this patch I got a (unrelated ?)
P> panic: lock (sleep mutex) Giant not locked @ nfsserver/nfs_serv.c:2193

Related. Please try out a corrected patch.

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE

--bGR76rFJjkSxVeRa
Content-Type: text/plain; charset=koi8-r
Content-Disposition: attachment; filename="nfs_serv.c.diff"

Index: nfs_serv.c
===================================================================
RCS file: /home/ncvs/src/sys/nfsserver/nfs_serv.c,v
retrieving revision 1.156
diff -u -r1.156 nfs_serv.c
--- nfs_serv.c	17 Apr 2005 16:25:36 -0000	1.156
+++ nfs_serv.c	26 Oct 2005 13:13:25 -0000
@@ -2092,6 +2092,8 @@
 	tl = nfsm_dissect_nonblock(u_int32_t *, NFSX_UNSIGNED);
 	vtyp = nfsv3tov_type(*tl);
 	if (vtyp != VCHR && vtyp != VBLK && vtyp != VSOCK && vtyp != VFIFO) {
+		NFSD_UNLOCK();
+		mtx_lock(&Giant);	/* VFS */
 		error = NFSERR_BADTYPE;
 		goto out;
 	}
@@ -2108,6 +2110,8 @@
 	 * Iff doesn't exist, create it.
 	 */
 	if (nd.ni_vp) {
+		NFSD_UNLOCK();
+		mtx_lock(&Giant);	/* VFS */
 		error = EEXIST;
 		goto out;
 	}

--bGR76rFJjkSxVeRa--



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