Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Dec 2006 17:24:23 -0500
From:      Kris Kennaway <kris@obsecurity.org>
To:        Daichi GOTO <daichi@freebsd.org>
Cc:        rodrigc@crodrigues.org, freebsd-current@freebsd.org, ozawa@ongs.co.jp
Subject:   Re: [ANN] unionfs patchset-17 release, lock mechanism changed for robust working
Message-ID:  <20061202222423.GA3766@xor.obsecurity.org>
In-Reply-To: <4570305A.4010908@freebsd.org>
References:  <4570305A.4010908@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--lrZ03NoBR/3+SXJZ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Dec 01, 2006 at 10:38:34PM +0900, Daichi GOTO wrote:
> Hi Guys!
>=20
> 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_b=
adlock+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 =3D 0x281479e7, esp =3D 0xbfbf=
e89c, ebp =3D 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 0xc05=
45c13 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 0xc05=
45c13 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 0xc05=
45c13 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 0xc05=
45c13 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 0xc05=
45c13 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 0xc05=
45c13 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=3D0xcbe3e560, uppervp=3D0xcaa30968, lowervp=3D0xc90b4c18
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 0xc05=
45c13 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 0xc05=
45c13 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=3D0xca025c18, uppervp=3D0xca00c560, lowervp=3D0
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

--lrZ03NoBR/3+SXJZ
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

iD8DBQFFcf0XWry0BWjoQKURAu+yAKDiDiQwFYOH0OQwI9rUlU3dcxSTxQCfTxXA
uW2A2wi0Q03i3+7W+08ZQiA=
=19Iw
-----END PGP SIGNATURE-----

--lrZ03NoBR/3+SXJZ--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061202222423.GA3766>