Date: Tue, 03 May 2011 22:59:14 -0700 From: Kirk McKusick <mckusick@mckusick.com> To: Garrett Cooper <yanegomi@gmail.com> Cc: FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: Nasty non-recursive lockmgr panic on softdep only enabled UFS partition when filesystem full Message-ID: <201105040559.p445xEJ5024585@chez.mckusick.com> In-Reply-To: <BANLkTik4=O_1PWB2GzGzY=m51dG-Kbhe%2BQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Tue, 3 May 2011 22:40:26 -0700 > Subject: Nasty non-recursive lockmgr panic on softdep only enabled UFS > partition when filesystem full > From: Garrett Cooper <yanegomi@gmail.com> > To: Jeff Roberson <jeff@freebsd.org>, > Marshall Kirk McKusick <mckusick@mckusick.com> > Cc: FreeBSD Current <freebsd-current@freebsd.org> > > Hi Jeff and Dr. McKusick, > Ran into this panic when /usr ran out of space doing a make > universe on amd64/r221219 (it took ~15 minutes for the panic to occur > after the filesystem ran out of space -- wasn't quite sure what it was > doing at the time): > > ... > > Let me know what other commands you would like for me to run in kgdb. > Thanks, > -Garrett You did not indicate whether you are running an 8.X system or a 9-current system. It would be helpful to know that. Jeff thinks that there may be a potential race in the locking code for softdep_request_cleanup. If so, this patch for 9-current should fix it: Index: ffs_softdep.c =================================================================== --- ffs_softdep.c (revision 221385) +++ ffs_softdep.c (working copy) @@ -11380,7 +11380,8 @@ continue; } MNT_IUNLOCK(mp); - if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK, curthread)) { + if (vget(lvp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, + curthread)) { MNT_ILOCK(mp); continue; } If you are running an 8.X system, hopefully you will be able to apply it. Kirk McKusick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105040559.p445xEJ5024585>