Re: [ANN] unionfs patchset-17 release, lock mechanism changed for robust working

From: Kris Kennaway <kris_at_obsecurity.org>
Date: Sat, 2 Dec 2006 17:24:23 -0500
On Fri, Dec 01, 2006 at 10:38:34PM +0900, Daichi GOTO wrote:
> Hi Guys!
> 
> It is my pleasure and honor to announce the availability of
> the unionfs patchset-17. p17 have some significant improvements
> around the lock mechanism for robust and stable working.

I got the following locking assertion as soon as I tried to start a
package build in the unionfs -b mountpoint.

KDB: stack backtrace:
db_trace_self_wrapper(c4fd6700,eca4fb00,c073871a,eca4fb10,ca025c18,...) at db_trace_self_wrapper+0x37
vfs_badlock(ca025c18,eca4fb10,c07d4d20,ca025c18,c4fd6700,eca4fb60) at vfs_badlock+0x76
assert_vop_elocked(ca025c18,c078ee83,eca4fbf0,eca4fbf0,1,...) at assert_vop_elocked+0x63
VOP_MKDIR_APV(c07a4e00,eca4fb60,c0771a8c,d6e,7070000,...) at VOP_MKDIR_APV+0xea
kern_mkdir(c4fd6700,bfbfeb15,0,1ff,eca4fd30,...) at kern_mkdir+0x327
mkdir(c4fd6700,eca4fd04,8,eca4fd38,2,...) at mkdir+0x29
syscall(3b,3b,3b,bfbfeb15,1,...) at syscall+0x152
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (136, FreeBSD ELF32, mkdir), eip = 0x281479e7, esp = 0xbfbfe89c, ebp = 0xbfbfe978 ---
VOP_MKDIR: 0xca025c18 is not exclusive locked but should be

db> show lockedvnods
Locked vnodes

0xc90b4c18: tag ufs, type VDIR
    usecount 1, writecount 0, refcount 2 mountedhere 0
    flags ()
    v_object 0xcbe4b690 ref 0 pages 0
     lock type ufs: EXCL (count 1) by thread 0xc4fd6700 (pid 98678)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc051147f at unionfs_lock+0x186
#4 0xc0738675 at _VOP_LOCK_APV+0x69
#5 0xc05d7f4a at _vn_lock+0x73
#6 0xc05c06ee at lookup+0xe9
#7 0xc05c1703 at namei+0x358
#8 0xc05d47c0 at kern_mkdir+0x72
#9 0xc05d4b82 at mkdir+0x29
#10 0xc072156b at syscall+0x152
#11 0xc07093af at Xint0x80_syscall+0x1f

        ino 2120020, on dev da0s1e

0xcaa1d560: tag ufs, type VDIR
    usecount 2, writecount 0, refcount 4 mountedhere 0
    flags ()
    v_object 0xcbe0e708 ref 0 pages 1
     lock type ufs: EXCL (count 1) by thread 0xc4dc2700 (pid 98188)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc05d7f4a at _vn_lock+0x73
#4 0xc05c06ee at lookup+0xe9
#5 0xc05c1703 at namei+0x358
#6 0xc05d17ed at kern_unlink+0x60
#7 0xc05d19f9 at unlink+0x22
#8 0xc072156b at syscall+0x152
#9 0xc07093af at Xint0x80_syscall+0x1f

        ino 2192674, on dev da0s1e

0xcbe47408: tag ufs, type VDIR
    usecount 2, writecount 0, refcount 4 mountedhere 0
    flags ()
    v_object 0xcbe4b870 ref 0 pages 1
     lock type ufs: EXCL (count 1) by thread 0xc5b35e00 (pid 98106)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc05d7f4a at _vn_lock+0x73
#4 0xc05d54e0 at getdirentries+0xf7
#5 0xc072156b at syscall+0x152
#6 0xc07093af at Xint0x80_syscall+0x1f

        ino 2025752, on dev da0s1e

0xcaa30968: tag ufs, type VDIR
    usecount 1, writecount 0, refcount 2 mountedhere 0
    flags ()
    v_object 0xcbe4b708 ref 0 pages 0
     lock type ufs: EXCL (count 1) by thread 0xc4fd6700 (pid 98678)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc0511569 at unionfs_lock+0x270
#4 0xc0738675 at _VOP_LOCK_APV+0x69
#5 0xc05d7f4a at _vn_lock+0x73
#6 0xc05c06ee at lookup+0xe9
#7 0xc05c1703 at namei+0x358
#8 0xc05d47c0 at kern_mkdir+0x72
#9 0xc05d4b82 at mkdir+0x29
#10 0xc072156b at syscall+0x152
#11 0xc07093af at Xint0x80_syscall+0x1f

        ino 2169764, on dev da0s1e

0xca00c560: tag ufs, type VDIR
    usecount 1, writecount 0, refcount 2 mountedhere 0
    flags ()
     lock type ufs: SHARED (count 1)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc0511569 at unionfs_lock+0x270
#4 0xc0738675 at _VOP_LOCK_APV+0x69
#5 0xc05d7f4a at _vn_lock+0x73
#6 0xc050ba83 at unionfs_nodeget+0x649
#7 0xc05109ca at unionfs_mkdir+0x116
#8 0xc073b771 at VOP_MKDIR_APV+0x94
#9 0xc05d4a75 at kern_mkdir+0x327
#10 0xc05d4b82 at mkdir+0x29
#11 0xc072156b at syscall+0x152
#12 0xc07093af at Xint0x80_syscall+0x1f

        ino 2169777, on dev da0s1e

0xc9fe5810: tag ufs, type VREG
    usecount 1, writecount 0, refcount 1 mountedhere 0
    flags ()
     lock type ufs: EXCL (count 1) by thread 0xc4dc2700 (pid 98188)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc05d7f4a at _vn_lock+0x73
#4 0xc05cb994 at vget+0x8b
#5 0xc05bfd42 at vfs_hash_get+0x105
#6 0xc06a3003 at ffs_vget+0x49
#7 0xc06add11 at ufs_lookup+0x967
#8 0xc0739a97 at VOP_CACHEDLOOKUP_APV+0x94
#9 0xc05bc44d at vfs_cache_lookup+0xec
#10 0xc0739bd1 at VOP_LOOKUP_APV+0x9c
#11 0xc05c0971 at lookup+0x36c
#12 0xc05c1703 at namei+0x358
#13 0xc05d17ed at kern_unlink+0x60
#14 0xc05d19f9 at unlink+0x22
#15 0xc072156b at syscall+0x152
#16 0xc07093af at Xint0x80_syscall+0x1f

        ino 2194373, on dev da0s1e

0xcbe3e560: tag unionfs, type VDIR
    usecount 7, writecount 0, refcount 7 mountedhere 0
    flags ()
    v_object 0xcbe4b708 ref 0 pages 0
     lock type ufs: EXCL (count 1) by thread 0xc4fd6700 (pid 98678)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc0511569 at unionfs_lock+0x270
#4 0xc0738675 at _VOP_LOCK_APV+0x69
#5 0xc05d7f4a at _vn_lock+0x73
#6 0xc05c06ee at lookup+0xe9
#7 0xc05c1703 at namei+0x358
#8 0xc05d47c0 at kern_mkdir+0x72
#9 0xc05d4b82 at mkdir+0x29
#10 0xc072156b at syscall+0x152
#11 0xc07093af at Xint0x80_syscall+0x1f

unionfs_vp=0xcbe3e560, uppervp=0xcaa30968, lowervp=0xc90b4c18
unionfs: upper
0xcaa30968: tag ufs, type VDIR
    usecount 1, writecount 0, refcount 2 mountedhere 0
    flags ()
    v_object 0xcbe4b708 ref 0 pages 0
     lock type ufs: EXCL (count 1) by thread 0xc4fd6700 (pid 98678)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc0511569 at unionfs_lock+0x270
#4 0xc0738675 at _VOP_LOCK_APV+0x69
#5 0xc05d7f4a at _vn_lock+0x73
#6 0xc05c06ee at lookup+0xe9
#7 0xc05c1703 at namei+0x358
#8 0xc05d47c0 at kern_mkdir+0x72
#9 0xc05d4b82 at mkdir+0x29
#10 0xc072156b at syscall+0x152
#11 0xc07093af at Xint0x80_syscall+0x1f

        ino 2169764, on dev da0s1e
unionfs: lower
0xc90b4c18: tag ufs, type VDIR
    usecount 1, writecount 0, refcount 2 mountedhere 0
    flags ()
    v_object 0xcbe4b690 ref 0 pages 0
     lock type ufs: EXCL (count 1) by thread 0xc4fd6700 (pid 98678)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc051147f at unionfs_lock+0x186
#4 0xc0738675 at _VOP_LOCK_APV+0x69
#5 0xc05d7f4a at _vn_lock+0x73
#6 0xc05c06ee at lookup+0xe9
#7 0xc05c1703 at namei+0x358
#8 0xc05d47c0 at kern_mkdir+0x72
#9 0xc05d4b82 at mkdir+0x29
#10 0xc072156b at syscall+0x152
#11 0xc07093af at Xint0x80_syscall+0x1f

        ino 2120020, on dev da0s1e

0xca025c18: tag unionfs, type VDIR
    usecount 1, writecount 0, refcount 1 mountedhere 0
    flags ()
     lock type ufs: SHARED (count 1)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc0511569 at unionfs_lock+0x270
#4 0xc0738675 at _VOP_LOCK_APV+0x69
#5 0xc05d7f4a at _vn_lock+0x73
#6 0xc050ba83 at unionfs_nodeget+0x649
#7 0xc05109ca at unionfs_mkdir+0x116
#8 0xc073b771 at VOP_MKDIR_APV+0x94
#9 0xc05d4a75 at kern_mkdir+0x327
#10 0xc05d4b82 at mkdir+0x29
#11 0xc072156b at syscall+0x152
#12 0xc07093af at Xint0x80_syscall+0x1f

unionfs_vp=0xca025c18, uppervp=0xca00c560, lowervp=0
unionfs: upper
0xca00c560: tag ufs, type VDIR
    usecount 1, writecount 0, refcount 2 mountedhere 0
    flags ()
     lock type ufs: SHARED (count 1)#0 0xc0545c13 at _lockmgr+0x538
#1 0xc06a766f at ffs_lock+0x6a
#2 0xc0738675 at _VOP_LOCK_APV+0x69
#3 0xc0511569 at unionfs_lock+0x270
#4 0xc0738675 at _VOP_LOCK_APV+0x69
#5 0xc05d7f4a at _vn_lock+0x73
#6 0xc050ba83 at unionfs_nodeget+0x649
#7 0xc05109ca at unionfs_mkdir+0x116
#8 0xc073b771 at VOP_MKDIR_APV+0x94
#9 0xc05d4a75 at kern_mkdir+0x327
#10 0xc05d4b82 at mkdir+0x29
#11 0xc072156b at syscall+0x152
#12 0xc07093af at Xint0x80_syscall+0x1f

        ino 2169777, on dev da0s1e
db>

Core available.

Kris

Received on Sat Dec 02 2006 - 21:25:06 UTC

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