> Hi > > Please try an attached patch that improves handlings of fs locks. > I think that this patch can resolve this issue. If that works well, > I'm going to refine and commit it to head. > Thanks! I tried your patch but get the same panic: FreeBSD 10.0-CURRENT #6 r233856M: Mon Apr 9 09:47:42 EDT 2012 ... exclusive lock of (lockmgr) ufs _at_ /usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1897 while share locked from /usr/src/sys/modules/unionfs/../../fs/unionfs/ union_vnops.c:1897 panic: excl->share cpuid = 0 KDB: enter: panic [ thread pid 38 tid 100050 ] Stopped at kdb_enter+0x3b: movl $0,kdb_why db> show all locks Process 38 (ls) thread 0xc56dd2e0 (100050) exclusive sleep mutex vnode interlock (vnode interlock) r = 0 (0xc5797d38) locked _at_ /usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1889 shared lockmgr ufs (ufs) r = 0 (0xc5797d18) locked _at_ /usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1897 db> > On Fri, 6 Apr 2012 21:36:29 -0400 (EDT) > kwhite_at_site.uottawa.ca wrote: >> Starting with r230341, I get the following panic when trying to run >> an executable on a unionfs filesystem: >> >> exclusive lock of (lockmgr) ufs _at_ >> /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_at_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 _at_ >> /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 _at_ >> /usr/src/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1835 >> shared lockmgr ufs (ufs) r = 0 (0xc57cec08) locked _at_ >> /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 >> >> >> _______________________________________________ >> freebsd-current_at_freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to >> "freebsd-current-unsubscribe_at_freebsd.org" > > > -- > Daichi GOTO (daichi) > FreeBSD Committer, http://www.FreeBSD.org The Power To Serve >Received on Mon Apr 09 2012 - 12:31:47 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:25 UTC