Giantless VFS.

Robert Watson rwatson at freebsd.org
Fri Nov 26 01:52:41 PST 2004


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
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