From owner-freebsd-stable@FreeBSD.ORG Fri Jan 18 11:09:20 2008 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 902AE16A419; Fri, 18 Jan 2008 11:09:20 +0000 (UTC) (envelope-from daniel_k_eriksson@telia.com) Received: from pne-smtpout2-sn2.hy.skanova.net (pne-smtpout2-sn2.hy.skanova.net [81.228.8.164]) by mx1.freebsd.org (Postfix) with ESMTP id 37BC713C457; Fri, 18 Jan 2008 11:09:20 +0000 (UTC) (envelope-from daniel_k_eriksson@telia.com) Received: from royal64.emp.zapto.org (195.198.193.104) by pne-smtpout2-sn2.hy.skanova.net (7.3.129) id 478BD00D001282C6; Fri, 18 Jan 2008 12:09:18 +0100 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Date: Fri, 18 Jan 2008 12:09:18 +0100 Message-ID: <4F9C9299A10AE74E89EA580D14AA10A61A189A@royal64.emp.zapto.org> In-Reply-To: <4F9C9299A10AE74E89EA580D14AA10A61A1899@royal64.emp.zapto.org> X-MimeOLE: Produced By Microsoft Exchange V6.5.7235.2 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Multiple ZFS pools = panic on shutdown? thread-index: AchZtZ2FuVroRJF+Q62MlP7HaArorAACix0g References: <4F9C9299A10AE74E89EA580D14AA10A61A1899@royal64.emp.zapto.org> From: "Daniel Eriksson" To: Cc: pjd@FreeBSD.org Subject: RE: Multiple ZFS pools = panic on shutdown? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jan 2008 11:09:20 -0000 I wrote: > Has anyone heard of or experienced any panics ("vput:=20 > negative ref cnt" or "vrele: negative ref cnt") when > shutting down a box with more than one zpool? After doing some testing I've come up with the following simple steps to recreate the panic: 1. Create the pools and then export them 2. Reboot the computer 3. Import the pools, touch some files on them and then export them again 4. Reboot again -> BOOM! Create the pools ---------------- dd if=3D/dev/zero of=3D/usr/_disk1 bs=3D1m count=3D128 dd if=3D/dev/zero of=3D/usr/_disk2 bs=3D1m count=3D128 dd if=3D/dev/zero of=3D/usr/_disk3 bs=3D1m count=3D128 dd if=3D/dev/zero of=3D/usr/_disk4 bs=3D1m count=3D128 mdconfig -f /usr/_disk1 -u 1 mdconfig -f /usr/_disk2 -u 2 mdconfig -f /usr/_disk3 -u 3 mdconfig -f /usr/_disk4 -u 4 /etc/rc.d/zfs forcestart zpool create tank1 mirror md1 md2 zpool create tank2 mirror md3 md4 touch /tank1/testfile touch /tank2/testfile zpool export tank1 zpool export tank2 /etc/rc.d/zfs forcestop mdconfig -d -u 1 mdconfig -d -u 2 mdconfig -d -u 3 mdconfig -d -u 4 Import the pools ---------------- mdconfig -f /usr/_disk1 -u 1 mdconfig -f /usr/_disk2 -u 2 mdconfig -f /usr/_disk3 -u 3 mdconfig -f /usr/_disk4 -u 4 /etc/rc.d/zfs forcestart zpool import tank1 zpool import tank2 touch /tank1/testfile touch /tank2/testfile zpool export tank1 zpool export tank2 /etc/rc.d/zfs forcestop mdconfig -d -u 1 mdconfig -d -u 2 mdconfig -d -u 3 mdconfig -d -u 4 /Daniel Eriksson