Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Oct 2009 18:19:15 -0500
From:      Robert Noland <rnoland@FreeBSD.org>
To:        Norikatsu Shigemura <nork@ninth-nine.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: GPT boot with ZFS RAIDZ "ZFS: i/o error - all block copies unavailable"
Message-ID:  <1256685555.2315.9.camel@balrog.2hip.net>
In-Reply-To: <20091028071734.e92e8e49.nork@ninth-nine.com>
References:  <op.u2dqyh1o4534sa@localhost> <1256517106.2502.205.camel@balrog.2hip.net> <op.u2ehpmzo4534sa@localhost> <1256571299.2502.219.camel@balrog.2hip.net> <20091028071734.e92e8e49.nork@ninth-nine.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <rnoland@freebsd.org> 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 <boot partition> <disk>
> > 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 <rnoland@FreeBSD.org>
FreeBSD




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1256685555.2315.9.camel>