On Mon, May 07, 2012 at 10:11:53PM +0200, Mateusz Guzik wrote:
> On Mon, May 07, 2012 at 12:28:41PM -0700, Doug Barton wrote:
> > On 05/06/2012 15:19, Sergey Kandaurov wrote:
> > > On 7 May 2012 01:54, Doug Barton <do...@freebsd.org> wrote:
> > >> I got this with today's current, previous (working) kernel is r232719.
> > >>
> > >> panic: _mtx_lock_sleep: recursed on non-recursive mutex struct mount mtx
> > >> @ /frontier/svn/head/sys/kern/vfs_subr.c:4595
> > 
> > ...
> > 
> > > Please try this patch.
> > > 
> > > Index: fs/ext2fs/ext2_vfsops.c
> > > ===================================================================
> > > --- fs/ext2fs/ext2_vfsops.c     (revision 235108)
> > > +++ fs/ext2fs/ext2_vfsops.c     (working copy)
> > > @@ -830,7 +830,6 @@
> > >         /*
> > >          * Write back each (modified) inode.
> > >          */
> > > -       MNT_ILOCK(mp);
> > >  loop:
> > >         MNT_VNODE_FOREACH_ALL(vp, mp, mvp) {
> > >                 if (vp->v_type == VNON) {
> > > 
> > 
> > Didn't help, sorry. I put 234385 through some pretty heavy load
> > yesterday, and everything was fine. As soon as I move up to 234386, the
> > panic triggered again. So I cleaned everything up, applied your patch,
> > built a kernel from scratch, and rebooted. It was Ok for a few seconds
> > after boot, then panic'ed again, I think in a different place, but I'm
> > not sure because subsequent attempts to fsck the file systems caused new
> > panics which overwrote the old ones before they could be saved.
> > 
> 
> Another MNT_ILOCK was hiding few lines below, try this patch:
> 
> http://student.agh.edu.pl/~mjguzik/patches/ext2fs-ilock.patch
> 
> I've tested this a bit and I believe this fixes your problem.
> 

Gave this a spin and found what looks like a deadlock:

http://people.freebsd.org/~pho/stress/log/ext2fs.txt

Not a new problem, it would seem. Same issue with 8.3-PRERELEASE r232656M.

- Peter
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to