LOR in vfs/ntfs layer

From: Wojciech A. Koszek <wkoszek_at_FreeBSD.org>
Date: Sat, 26 Dec 2009 16:48:24 +0100
Hi,

This is what I see when I try to mount and copy several files from NTFS
slice:

lock order reversal:
 1st 0xc6d78498 ntfs (ntfs) _at_ kern/vfs_vnops.c:536
 2nd 0xc5963ee4 bufwait (bufwait) _at_ kern/vfs_bio.c:1835
 3rd 0xc6d82058 ntfs (ntfs) _at_ /usr/src/sys/modules/ntfs/../../fs/ntfs/ntfs_vfsops.c:743
KDB: stack backtrace:
db_trace_self_wrapper(c078e598,e846d764,c0597cb5,c058896b,c0791486,...) at db_trace_self_wrapper+0x26
kdb_backtrace(c058896b,c0791486,c5cdcef8,c5ce1060,e846d7c0,...) at kdb_backtrace+0x29
_witness_debugger(c0791486,c6d82058,c6cc8581,c5ce1060,c6cc85f8,...) at _witness_debugger+0x25
witness_checkorder(c6d82058,9,c6cc85f8,2e7,c6d82078,...) at witness_checkorder+0x839
__lockmgr_args(c6d82058,80000,c6d82078,0,0,...) at __lockmgr_args+0x824
vop_stdlock(e846d8dc,0,0,80000,c6d82000,...) at vop_stdlock+0x62
VOP_LOCK1_APV(c6cc9200,e846d8dc,c6d80744,c0802b20,c6d82000,...) at VOP_LOCK1_APV+0xb5
_vn_lock(c6d82000,80000,c6cc85f8,2e7,e846d924,...) at _vn_lock+0x5e
ntfs_vgetex(c619c510,2f27c,80,0,80000,...) at ntfs_vgetex+0x2ea
ntfs_ntvattrget(c6d0f800,c6d66b00,80,c6cc8a76,0,...) at ntfs_ntvattrget+0x1ba
ntfs_readattr(c6d0f800,c6d66b00,80,0,0,...) at ntfs_readattr+0x49
ntfs_strategy(e846dac4,e846dad4,c05c724f,c6d78440,0,...) at ntfs_strategy+0x238
VOP_STRATEGY_APV(c6cc9200,e846dac4,c6d84bb0,0,c0802b80,...) at VOP_STRATEGY_APV+0xb5
ntfs_bufstrategy(c6d784ec,c5963e84,0,1000,0,...) at ntfs_bufstrategy+0x39
breadn(c6d78440,0,0,1000,0,...) at breadn+0x109
bread(c6d78440,0,0,1000,0,...) at bread+0x4c
ntfs_read(e846dbc8,c6214240,c61ba070,0,e846dbe8,...) at ntfs_read+0x155
VOP_READ_APV(c6cc9200,e846dbc8,c6d78440,218,e846dbd4,...) at VOP_READ_APV+0xa5
vn_read(c61ba070,e846dc58,c6c22180,0,c6214240,...) at vn_read+0x208
dofileread(e846dc58,ffffffff,ffffffff,0,c61ba070,...) at dofileread+0x96
kern_readv(c6214240,3,e846dc58,e846dc78,1,...) at kern_readv+0x58
read(c6214240,e846dcf8,c,c,c07d0ef4,...) at read+0x4f
syscall(e846dd38) at syscall+0x2a3
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (3, FreeBSD ELF32, read), eip = 0x2817d3b3, esp = 0xbfbfe34c, ebp = 0xbfbfe3b8 ---

This seems to be similar to a couple of LORs involving 'bufwait' lock present on:

	http://sources.zabbadoz.net/freebsd/lor.html

NTFS isn't present there yet, however.

Thanks,

-- 
Wojciech A. Koszek
wkoszek_at_FreeBSD.org
http://FreeBSD.czest.pl/~wkoszek/
Received on Sat Dec 26 2009 - 14:35:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:59 UTC