Date: Thu, 27 Oct 2005 18:38:04 +0400 From: Gleb Smirnoff <glebius@FreeBSD.org> To: Peter Holm <peter@holm.cc> Cc: current@FreeBSD.org, mohans@yahoo-inc.com Subject: Re: panic: mutex nfsd_mtx owned at nfsserver/nfs_serv.c:2160 Message-ID: <20051027143804.GP41520@cell.sick.ru> In-Reply-To: <20051027060916.GA55631@peter.osted.lan> References: <20051026072337.GA31319@peter.osted.lan> <20051026083147.GA41520@cell.sick.ru> <20051026130926.GA41293@peter.osted.lan> <20051026131423.GH41520@cell.sick.ru> <20051027060916.GA55631@peter.osted.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051027143804.GP41520>