From owner-freebsd-bugs@FreeBSD.ORG Sun Aug 9 07:30:02 2009 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E75F1065673 for ; Sun, 9 Aug 2009 07:30:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 1A3C68FC16 for ; Sun, 9 Aug 2009 07:30:02 +0000 (UTC) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n797U1OB059875 for ; Sun, 9 Aug 2009 07:30:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n797U1cW059874; Sun, 9 Aug 2009 07:30:01 GMT (envelope-from gnats) Resent-Date: Sun, 9 Aug 2009 07:30:01 GMT Resent-Message-Id: <200908090730.n797U1cW059874@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Danny Braniss Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC8CB10656A4 for ; Sun, 9 Aug 2009 07:22:46 +0000 (UTC) (envelope-from danny@cs.huji.ac.il) Received: from kabab.cs.huji.ac.il (kabab.cs.huji.ac.il [132.65.16.84]) by mx1.freebsd.org (Postfix) with ESMTP id 496DB8FC2E for ; Sun, 9 Aug 2009 07:22:46 +0000 (UTC) Received: from sunfire.cs.huji.ac.il ([132.65.16.80]) by kabab.cs.huji.ac.il with esmtp id 1Ma2Tx-0000Dl-22 for FreeBSD-gnats-submit@freebsd.org; Sun, 09 Aug 2009 10:06:17 +0300 Received: from danny by sunfire.cs.huji.ac.il with local (Exim 4.69 (FreeBSD)) (envelope-from ) id 1Ma2Tx-0004Wz-1k for FreeBSD-gnats-submit@freebsd.org; Sun, 09 Aug 2009 10:06:17 +0300 Message-Id: Date: Sun, 09 Aug 2009 10:06:17 +0300 From: Danny Braniss To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: kern/137588: LOR unionfs X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Danny Braniss List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Aug 2009 07:30:02 -0000 >Number: 137588 >Category: kern >Synopsis: LOR unionfs >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Aug 09 07:30:01 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Danny Braniss >Release: FreeBSD 8.0-BETA2 amd64 >Organization: >Environment: System: FreeBSD pundit-2 8.0-BETA2 FreeBSD 8.0-BETA2 #4: Fri Aug 7 12:54:04 IDT 2009 danny@sunfire:/r+d/obj/sunfire/home/src/head/sys/HUJI amd64 >Description: host is diskless, and mount /etc via unionfs to a mfs, and onboot: lock order reversal: 1st 0xffffff00029577f8 nfs (nfs) @ /home/src/head/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1821 2nd 0xffffff0002956ba8 ufs (ufs) @ /home/src/head/sys/modules/unionfs/../../fs/unionfs/union_vnops.c:1843 3rd 0xffffff0002d79098 nfs (nfs) @ /home/src/head/sys/nfsclient/nfs_node.c:161 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a _witness_debugger() at _witness_debugger+0x2e witness_checkorder() at witness_checkorder+0x81e __lockmgr_args() at __lockmgr_args+0xcf3 nfs_nget() at nfs_nget+0x1c9 nfs_lookup() at nfs_lookup+0x4fa VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x95 unionfs_lookup() at unionfs_lookup+0x586 vfs_cache_lookup() at vfs_cache_lookup+0xf0 VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x95 lookup() at lookup+0x37d namei() at namei+0x479 kern_statat_vnhook() at kern_statat_vnhook+0x8f kern_statat() at kern_statat+0x15 stat() at stat+0x2a syscall() at syscall+0x1af Xfast_syscall() at Xfast_syscall+0xe1 --- syscall (188, FreeBSD ELF64, stat), rip = 0x80072f41c, rsp = 0x7fffffffebb8, rbp = 0x8009173c0 --- lock order reversal: 1st 0xffffff0002d1fd80 unionfs (unionfs) @ /home/src/head/sys/modules/unionfs/../../fs/unionfs/union_subr.c:356 2nd 0xffffff0002d79098 nfs (nfs) @ /home/src/head/sys/kern/vfs_subr.c:2188 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a _witness_debugger() at _witness_debugger+0x2e witness_checkorder() at witness_checkorder+0x81e __lockmgr_args() at __lockmgr_args+0xcf3 vop_stdlock() at vop_stdlock+0x39 VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b _vn_lock() at _vn_lock+0x47 vrele() at vrele+0x131 unionfs_noderem() at unionfs_noderem+0x1a4 unionfs_reclaim() at unionfs_reclaim+0x11 vgonel() at vgonel+0x105 vrecycle() at vrecycle+0x4c unionfs_inactive() at unionfs_inactive+0x20 vinactive() at vinactive+0x72 vput() at vput+0x230 kern_statat_vnhook() at kern_statat_vnhook+0xfa kern_statat() at kern_statat+0x15 stat() at stat+0x2a syscall() at syscall+0x1af Xfast_syscall() at Xfast_syscall+0xe1 --- syscall (188, FreeBSD ELF64, stat), rip = 0x80072f41c, rsp = 0x7fffffffebb8, rbp = 0x8009173c0 --- lock order reversal: 1st 0xffffff0002d1fd80 unionfs (unionfs) @ /home/src/head/sys/modules/unionfs/../../fs/unionfs/union_subr.c:356 2nd 0xffffff0002d1fba8 ufs (ufs) @ /home/src/head/sys/kern/vfs_subr.c:2188 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a _witness_debugger() at _witness_debugger+0x2e witness_checkorder() at witness_checkorder+0x81e __lockmgr_args() at __lockmgr_args+0xcf3 ffs_lock() at ffs_lock+0x8c VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b _vn_lock() at _vn_lock+0x47 vrele() at vrele+0x131 unionfs_noderem() at unionfs_noderem+0x1c4 unionfs_reclaim() at unionfs_reclaim+0x11 vgonel() at vgonel+0x105 vrecycle() at vrecycle+0x4c unionfs_inactive() at unionfs_inactive+0x20 vinactive() at vinactive+0x72 vput() at vput+0x230 kern_statat_vnhook() at kern_statat_vnhook+0xfa kern_statat() at kern_statat+0x15 stat() at stat+0x2a syscall() at syscall+0x1af Xfast_syscall() at Xfast_syscall+0xe1 --- syscall (188, FreeBSD ELF64, stat), rip = 0x80072f41c, rsp = 0x7fffffffebb8, rbp = 0x8009173c0 --- >How-To-Repeat: boot diskless host, in /etc/rc.initdiskless add: if [ -e /conf/union ]; then kldload unionfs mount_md 4096 /.etc mount_unionfs -o transparent /.etc /etc fi fi >Fix: >Release-Note: >Audit-Trail: >Unformatted: