From owner-freebsd-bugs@FreeBSD.ORG Sun Oct 9 19:50:14 2011 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 902151065670 for ; Sun, 9 Oct 2011 19:50:14 +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 6C4FB8FC13 for ; Sun, 9 Oct 2011 19:50:14 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p99JoEKB047941 for ; Sun, 9 Oct 2011 19:50:14 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p99JoEwV047935; Sun, 9 Oct 2011 19:50:14 GMT (envelope-from gnats) Resent-Date: Sun, 9 Oct 2011 19:50:14 GMT Resent-Message-Id: <201110091950.p99JoEwV047935@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, Garrett Cooper Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A80D4106564A for ; Sun, 9 Oct 2011 19:48:17 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 96D038FC14 for ; Sun, 9 Oct 2011 19:48:17 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p99JmHfu005169 for ; Sun, 9 Oct 2011 19:48:17 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id p99JmHm3005168; Sun, 9 Oct 2011 19:48:17 GMT (envelope-from nobody) Message-Id: <201110091948.p99JmHm3005168@red.freebsd.org> Date: Sun, 9 Oct 2011 19:48:17 GMT From: Garrett Cooper To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/161438: [zfs] [panic] recursed on non-recursive spa_namespace_lock when creating zpool from zvol X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Oct 2011 19:50:14 -0000 >Number: 161438 >Category: kern >Synopsis: [zfs] [panic] recursed on non-recursive spa_namespace_lock when creating zpool from zvol >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Oct 09 19:50:14 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Garrett Cooper >Release: 10-CURRENT >Organization: n/a >Environment: FreeBSD fallout.local 10.0-CURRENT FreeBSD 10.0-CURRENT #1 r226046M: Wed Oct 5 22:06:21 PDT 2011 gcooper@fallout.local:/usr/obj/usr/src/sys/FALLOUT amd64 >Description: Creating a zpool from a zvol on another zpool causes a deterministic panic due to a non-recursive lock being recursed in ZFS. The full backtrace from kgdb is: (kgdb) bt #0 doadump (textdump=0) at /usr/src/sys/kern/kern_shutdown.c:260 #1 0xffffffff802afc60 in db_dump (dummy=Variable "dummy" is not available. ) at /usr/src/sys/ddb/db_command.c:537 #2 0xffffffff802af251 in db_command (last_cmdp=0xffffffff809662c0, cmd_table=Variable "cmd_table" is not available. ) at /usr/src/sys/ddb/db_command.c:448 #3 0xffffffff802af4a0 in db_command_loop () at /usr/src/sys/ddb/db_command.c:501 #4 0xffffffff802b1604 in db_trap (type=Variable "type" is not available. ) at /usr/src/sys/ddb/db_main.c:229 #5 0xffffffff804234d1 in kdb_trap (type=3, code=0, tf=0xffffff834e061270) at /usr/src/sys/kern/subr_kdb.c:620 #6 0xffffffff8060ae76 in trap (frame=0xffffff834e061270) at /usr/src/sys/amd64/amd64/trap.c:590 #7 0xffffffff805f52cf in calltrap () at /usr/src/sys/amd64/amd64/exception.S:228 #8 0xffffffff8042327b in kdb_enter (why=0xffffffff80693deb "panic", msg=0x80
) at cpufunc.h:63 #9 0xffffffff803ee0ac in panic (fmt=Variable "fmt" is not available. ) at /usr/src/sys/kern/kern_shutdown.c:599 #10 0xffffffff803f5b75 in _sx_xlock_hard (sx=Variable "sx" is not available. ) at /usr/src/sys/kern/kern_sx.c:486 #11 0xffffffff803f5fab in _sx_xlock (sx=0xffffffff81232240, opts=0, file=0xffffffff81216708 "/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c", line=877) at sx.h:152 #12 0xffffffff811b2ae6 in zvol_open (pp=0xfffffe01cd900200, flag=1, count=2) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c:877 #13 0xffffffff811b3b69 in zvol_geom_access (pp=0xfffffe01cd900200, acr=1, acw=0, ace=1) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c:2045 #14 0xffffffff8038e7a8 in g_access (cp=0xfffffe01caad1680, dcr=1, dcw=0, dce=1) at /usr/src/sys/geom/geom_subr.c:824 #15 0xffffffff811b4a27 in vdev_geom_attach (pp=0xfffffe01cd900200) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c:131 #16 0xffffffff811b58e7 in vdev_geom_open_by_path (vd=0xfffffe01cde67800, check_guid=0) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c:385 #17 0xffffffff811b5c47 in vdev_geom_open (vd=0xfffffe01cde67800, psize=0xffffff834e061748, ashift=0xffffff834e061730) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c:435 #18 0xffffffff8114dfd7 in vdev_open (vd=0xfffffe01cde67800) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:1148 #19 0xffffffff8114debf in vdev_open_children (vd=0xfffffe01ca09f800) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:1094 #20 0xffffffff8115c226 in vdev_root_open (vd=0xfffffe01ca09f800, asize=0xffffff834e061838, ashift=0xffffff834e061820) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c:63 #21 0xffffffff8114dfd7 in vdev_open (vd=0xfffffe01ca09f800) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:1148 #22 0xffffffff8114e9dc in vdev_create (vd=0xfffffe01ca09f800, txg=4, isreplacing=0) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c:1520 #23 0xffffffff8113ab43 in spa_create (pool=0xffffff8003c3e000 "tank2", nvroot=0xfffffe0008ea4140, props=0x0, ---Type to continue, or q to quit--- history_str=0xfffffe01cdfb2000 "zpool create tank2 /dev/zvol/tank/zvol", zplprops=0x0) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2935 #24 0xffffffff81190bbb in zfs_ioc_pool_create (zc=0xffffff8003c3e000) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c:1223 #25 0xffffffff811974a8 in zfsdev_ioctl (dev=0xfffffe01b116d600, cmd=3583531520, addr=0xffffff8003c3e000 "tank2", flag=3, td=0xfffffe01cddae8c0) at /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c:4992 #26 0xffffffff8036f96a in devfs_ioctl_f (fp=0xfffffe0013012410, com=3583531520, data=Variable "data" is not available. ) at /usr/src/sys/fs/devfs/devfs_vnops.c:744 #27 0xffffffff8043cb6d in kern_ioctl (td=Variable "td" is not available. ) at file.h:278 #28 0xffffffff8043ce00 in sys_ioctl (td=0xfffffe01cddae8c0, uap=0xffffff834e061bc0) at /usr/src/sys/kern/sys_generic.c:681 #29 0xffffffff8060a1ec in amd64_syscall (td=0xfffffe01cddae8c0, traced=0) at subr_syscall.c:131 #30 0xffffffff805f55b7 in Xfast_syscall () at /usr/src/sys/amd64/amd64/exception.S:387 #31 0x0000000801e01d4c in ?? () I have a coredump saved if someone wants more information on the crash. >How-To-Repeat: Execute the following script: #!/bin/sh for i in 0 1 2; do rm -f md.$i touch md.$i md=/dev/$(mdconfig -a -f md.$i -s 1g) fdisk -Iq $md mds="$mds $md" done t=tank v=zvol zpool create $t $mds zfs create -V 1g $t/$v zpool create tank2 /dev/zvol/$t/$v >Fix: >Release-Note: >Audit-Trail: >Unformatted: