Date: Fri, 6 Apr 2012 21:36:29 -0400 (EDT) From: kwhite@site.uottawa.ca To: freebsd-current@freebsd.org Subject: (unionfs) panic: excl->share with r230341 and above Message-ID: <55056.74.51.53.177.1333762589.squirrel@courriel.site.uottawa.ca>
next in thread | raw e-mail | index | archive | help
Starting with r230341, I get the following panic when trying to run
an executable on a unionfs filesystem:
exclusive lock of (lockmgr) ufs @
/usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1843
while share locked from
/usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1843
panic: excl->share
cpuid = 0
KDB: enter: panic
Narrowing down with a binary search: r230340 (no panic), r230341 (panic).
How to repeat:
# uuname -a
FreeBSD 10.0-CURRENT FreeBSD 10.0-CURRENT #5 r233946M: Fri Apr 6
21:09:32 EDT 2012 kwhite@demo:/usr/src/obj/usr/src/sys/GENERIC
i386
# mkdir /tmp/local
# mount -t unionfs -o noatime /tmp/local /usr/local
# cp /bin/ls /usr/local/bin/ls
# /usr/local/bin/ls
....
exclusive lock of (lockmgr) ufs @
/usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1843
while share locked from
/usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1843
panic: excl->share
cpuid = 0
KDB: enter: panic
[ thread pid 68 tid 100054 ]
Stopped at kdb_enter+0x3b: movl $0,kdb_why
db> show all locks
Process 68 (ls) thread 0xc5780000 (100054)
exclusive sleep mutex vnode interlock (vnode interlock) r = 0
(0xc57cec28) locked @
/usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1835
shared lockmgr ufs (ufs) r = 0 (0xc57cec08) locked @
/usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1843
db>
Workaround?
After reverting the change from LK_EXCLUSIVE to LK_SHARED
in sys/kern/kern_exec.c, executables on union filesystems no
longer cause a panic.
...keith
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55056.74.51.53.177.1333762589.squirrel>
