Giantless VFS.

Jeff Roberson jroberson at chesapeake.net
Mon Nov 29 22:35:23 PST 2004


On Fri, 26 Nov 2004, Robert Watson wrote:

>
> On Sat, 20 Nov 2004, Jeff Roberson wrote:
>
> > I have a patch that I would like people to test and review.  It's
> > available here:
> >
> > http://www.chesapeake.net/~jroberson/smpffs.diff
>
> I built a GENERIC kernel from 6.x of yesterday with this patch, installed
> it on a box, and hen left it overnight.  At some point during the night,
> the following was generated:
>
> login: lock order reversal
>  1st 0xc28e8bdc vnode interlock (vnode interlock) @ kern/vfs_subr.c:722
>  2nd 0xc251b044 struct mount mtx (struct mount mtx) @ kern/vfs_vnops.c:997

Thanks, I have a fix for this.  I'll post it soon.

> KDB: stack backtrace:
> witness_checkorder(c251b044,9,c081bc6e,3e5) at witness_checkorder+0x500
> _mtx_lock_flags(c251b044,0,c081bc6e,3e5,c28e8bdc) at _mtx_lock_flags+0x40
> vn_finished_write(c251b000,c2afec00,0,c282618c,c251b000) at
> vn_finished_write+0x21
> getnewvnode(c0819ba0,c251b800,c2517500,ef16ea04) at getnewvnode+0x4ff
> ffs_vget(c251b800,13fb,2,ef16ea88) at ffs_vget+0x74
> ufs_lookup(ef16eb38) at ufs_lookup+0x81e
> vfs_cache_lookup(ef16eba8,8,ef16ec44,c2afec00,0) at vfs_cache_lookup+0x25d
> lookup(ef16ec30,c2b40228,c2afec00,ef16ec08,c2b40200) at lookup+0x269
> namei(ef16ec30,8064da8,0,0,c2762228) at namei+0x2a0
> lstat(c2afec00,ef16ed14,2,10e,292) at lstat+0x4a
> syscall(805002f,805002f,bfbf002f,8064d00,8064d48) at syscall+0x128
> Xint0x80_syscall() at Xint0x80_syscall+0x1f
> --- syscall (190, FreeBSD ELF32, lstat), eip = 0x280c7707, esp =
> 0xbfbfeb9c, ebp = 0xbfbfec38 ---
>
> If it's a property of load, it presumably happened during the daily
> event...
>
> Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
> robert at fledge.watson.org      Principal Research Scientist, McAfee Research
>
>


More information about the freebsd-current mailing list