I just upgraded to a fresh version of -current and started getting a lot of these vnode lock violation messages when running with the DEBUG_VFS_LOCKS kernel option. I only ever saw the stack trace below, but it is not obvious to me that other callers of getdirtybuf() would not have the same problem with the vnode interlock. dirtybuf: 0xc643f000 interlock is not locked but should be Debugger("Lock violation. ") Stopped at Debugger+0x54: xchgl %ebx,in_Debugger.0 db> bt No such command db> tr Debugger(c055816e,c0565751,c643f000,c05581a5,e5555b68) at Debugger+0x54 vfs_badlock(c05581a5,c0565751,c643f000,0,e5555ba0) at vfs_badlock+0x45 assert_vi_locked(c643f000,c0565751,0,c61e8850,c0616f80) at assert_vi_locked+0x3a getdirtybuf(e5555bb4,0,1,d2899610,1) at getdirtybuf+0xee flush_deplist(c64532cc,1,e5555bdc,e5555be0,0) at flush_deplist+0x43 flush_inodedep_deps(c641c000,6d45b,ffffffff,c6507a44,124) at flush_inodedep_deps+0xa3 softdep_sync_metadata(e5555ca4,0,c0565af4,124,0) at softdep_sync_metadata+0x87 ffs_fsync(e5555ca4,c054a4a8,c0558b14,ad8,0) at ffs_fsync+0x3b9 fsync(c61e8850,e5555d10,c056cc5c,3eb,1) at fsync+0x1d4 syscall(2f,2f,2f,8054cdc,bfbfeda0) at syscall+0x273 Xint0x80_syscall() at Xint0x80_syscall+0x1d --- syscall (95, FreeBSD ELF32, fsync), eip = 0x480cf38f, esp = 0xbfbfe7ec, ebp = 0xbfbfedc8 ---Received on Wed Sep 03 2003 - 01:16:32 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:21 UTC