From owner-svn-src-all@FreeBSD.ORG Sat May 16 18:47:48 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C4931065670; Sat, 16 May 2009 18:47:48 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from itchy.rabson.org (router.rabson.org [80.177.232.241]) by mx1.freebsd.org (Postfix) with ESMTP id 3E3028FC0C; Sat, 16 May 2009 18:47:47 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from [IPv6:2001:470:909f:1:225:ff:feed:9426] (unknown [IPv6:2001:470:909f:1:225:ff:feed:9426]) by itchy.rabson.org (Postfix) with ESMTP id 9EA4E5C39; Sat, 16 May 2009 19:48:09 +0100 (BST) Message-Id: <6971FF74-A53E-4354-A7F5-9139A5F8E5D9@rabson.org> From: Doug Rabson To: Pegasus Mc Cleaft In-Reply-To: <200905161835.26281.ken@mthelicon.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.4) Date: Sat, 16 May 2009 19:47:16 +0100 References: <200905161048.n4GAmKRh057122@svn.freebsd.org> <200905161835.26281.ken@mthelicon.com> X-Mailer: Apple Mail (2.930.4) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Doug Rabson Subject: Re: svn commit: r192194 - in head/sys: boot/i386/zfsboot boot/zfs cddl/boot/zfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 May 2009 18:47:49 -0000 On 16 May 2009, at 19:35, Pegasus Mc Cleaft wrote: > On Saturday 16 May 2009 10:48:20 Doug Rabson wrote: >> Author: dfr >> Date: Sat May 16 10:48:20 2009 >> New Revision: 192194 >> URL: http://svn.freebsd.org/changeset/base/192194 >> >> Log: >> Add support for booting from raidz1 and raidz2 pools. >> >> Modified: >> head/sys/boot/i386/zfsboot/zfsboot.c >> head/sys/boot/zfs/zfsimpl.c >> head/sys/cddl/boot/zfs/README >> head/sys/cddl/boot/zfs/zfsimpl.h >> head/sys/cddl/boot/zfs/zfssubr.c >> > I think there may be a bug when you boot the machine from a drive > that is a > member of a zfs-mirror and you have raidz pools elsewhere. > > On reboot, I would get message saying there was no bootable kernel > and > dropped me down to the "OK" prompt. At that point, lsdev would show > all the > pools (both zfs-mirror and zraid's) and "ls" would return an error > saying > there were to many open files. > > I was able to work around the problem by pulling all the drives in > the zraid > pool into single user, attach all the drives and use atacontrol > attach to > bring them online before going to multi-user and hitting /etc/rc.d/ > zfs start. > > The only thing I haven't tried, and may be the key to the problem is > reloading the boot-strap on the bootable drives. Would that make any > difference? I'm not sure but it can't hurt. The part of the bootstrap that runs before /boot/loader (e.g. gptzfsboot) also has access to all the pools in the system (at least the ones where the drives are visible to the BIOS). It should figure out which pool contains the drive that was actually booted and load /boot/loader from that. It should also pass the identity of that pool down to /boot/loader so that the process continues with the correct pool.