Date: Sun, 9 Oct 2011 19:48:17 GMT From: Garrett Cooper <yanegomi@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/161438: [zfs] [panic] recursed on non-recursive spa_namespace_lock when creating zpool from zvol Message-ID: <201110091948.p99JmHm3005168@red.freebsd.org> Resent-Message-ID: <201110091950.p99JoEwV047935@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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 <Address 0x80 out of bounds>) 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 <return> to continue, or q <return> 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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110091948.p99JmHm3005168>