panic: mutex nfsd_mtx owned at nfsserver/nfs_serv.c:2160

Gleb Smirnoff glebius at FreeBSD.org
Thu Oct 27 07:38:08 PDT 2005


On Thu, Oct 27, 2005 at 08:09:17AM +0200, Peter Holm wrote:
P> On Wed, Oct 26, 2005 at 05:14:23PM +0400, Gleb Smirnoff wrote:
P> > On Wed, Oct 26, 2005 at 03:09:26PM +0200, Peter Holm wrote:
P> > P> > On Wed, Oct 26, 2005 at 09:23:37AM +0200, Peter Holm wrote:
P> > P> > P> While stress testing RELENG_6_0 with a nfs mounted file system on a 
P> > P> > P> box running HEAD from Oct 24 13:21 UTC I got this panic (on HEAD):
P> > P> > P> http://people.freebsd.org/~pho/stress/log/nfsd.html
P> > P> > 
P> > P> > let's try out this one.
P> > P> > 
P> > P> 
P> > P> With this patch I got a (unrelated ?)
P> > P> panic: lock (sleep mutex) Giant not locked @ nfsserver/nfs_serv.c:2193
P> > 
P> > Related. Please try out a corrected patch.
P> > 
P> After running for +15 hours I think that I can conclude that this
P> patch has fixed the problem?

I think so. Let's ask Mohan to review it.

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

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


More information about the freebsd-current mailing list