From owner-freebsd-current@FreeBSD.ORG Tue Oct 27 23:19:23 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD3A3106566B for ; Tue, 27 Oct 2009 23:19:23 +0000 (UTC) (envelope-from rnoland@FreeBSD.org) Received: from gizmo.2hip.net (gizmo.2hip.net [64.74.207.195]) by mx1.freebsd.org (Postfix) with ESMTP id 74DE38FC15 for ; Tue, 27 Oct 2009 23:19:23 +0000 (UTC) Received: from [192.168.1.4] (adsl-150-102-19.bna.bellsouth.net [72.150.102.19]) (authenticated bits=0) by gizmo.2hip.net (8.14.3/8.14.3) with ESMTP id n9RNJKc8058659 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Tue, 27 Oct 2009 19:19:21 -0400 (EDT) (envelope-from rnoland@FreeBSD.org) From: Robert Noland To: Norikatsu Shigemura In-Reply-To: <20091028071734.e92e8e49.nork@ninth-nine.com> References: <1256517106.2502.205.camel@balrog.2hip.net> <1256571299.2502.219.camel@balrog.2hip.net> <20091028071734.e92e8e49.nork@ninth-nine.com> Content-Type: text/plain Organization: FreeBSD Date: Tue, 27 Oct 2009 18:19:15 -0500 Message-Id: <1256685555.2315.9.camel@balrog.2hip.net> Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00, RCVD_IN_SORBS_DUL, RDNS_DYNAMIC, SPF_SOFTFAIL autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on gizmo.2hip.net Cc: freebsd-current@freebsd.org Subject: Re: GPT boot with ZFS RAIDZ "ZFS: i/o error - all block copies unavailable" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Oct 2009 23:19:23 -0000 On Wed, 2009-10-28 at 07:17 +0900, Norikatsu Shigemura wrote: > Hi rnoland. > > On Mon, 26 Oct 2009 10:34:59 -0500 > Robert Noland wrote: > > > >> ZFS: i/o error - all block copies unavailable > > > >> Invalid format > > > >> FreeBSD/i386 boot > > > >> Default: tank:/boot/kernel/kernel > > > >> boot: > > > > Could you type "status" at this point and tell what it shows? > > > If I type status at this point I get: > > > pool: tank > > > config: > > > NAME STATE > > > tank ONLINE > > > raidz1 ONLINE > > > ad4p3 ONLINE > > > ad6p3 ONLINE > > > ad8p3 ONLINE > > > ad10p3 ONLINE > > > Which seems odd, since that's all the drives there are. So if it finds > > > these it's already found all drives. My optimistic "Oh! I'll try and boot > > > again" spirit was however crushed since it just results in the same error. > > Ok, that is both good and frustrating... I haven't produced any boot > > failures with all of the drives visible. Do, note that I just added > > support for reading gang blocks to the loader. (basically untested, > > since I haven't managed to create them at will) You will need to update > > your partition boot code for it to be supported during early boot. i.e. > > gpart bootcode -p /boot/gptzfsboot -i > > The "all block copies unavailable" is a frustrating error, since all it > > means is a failed read, but we don't get a clue what failed or why. > > With the code that is in -CURRENT it will report gang blocks if found, > > even if it fails to read them. > > I confirmed reproduce. > > 1. zpool list, and get SIZE and CAP. > $ zpool list > NAME SIZE USED AVAIL CAP HEALTH ALTROOT > tank 59.5G 48.4G 11.1G 81% ONLINE - > > 2. reduce AVAIL < 10% with creating dummy file like ... > $ dd if=/dev/zero of=$HOME/DUMMY.FILE bs=1m count=5632 > 5632+0 records in > 5632+0 records out > 5905580032 bytes transferred in 49.822200 secs (118533104 bytes/sec) > $ zpool list > NAME SIZE USED AVAIL CAP HEALTH ALTROOT > tank 59.5G 53.9G 5.61G 90% ONLINE - > > 3. cd /boot/; cp -pr kernel kernel.err > In this time, if reboot, we can get boot time error. > > 4. rm $HOME/DUMMY.FILE, and reboot > > 5. boot kernel.err on new-loader. > I can get "ZFS: gang block detected!" message and overrun:D. Ok, so does it still boot? Or do you still get an error? robert. -- Robert Noland FreeBSD