Re: GPT boot with ZFS RAIDZ "ZFS: i/o error - all block copies unavailable"

From: Robert Noland <rnoland_at_FreeBSD.org>
Date: Tue, 27 Oct 2009 09:49:36 -0500
On Tue, 2009-10-27 at 11:17 +0100, Merijn Verstraaten wrote:
> My apologies to Robert for the double message, mis-addressed the first  
> reply to him instead of the list.
> 
> On Mon, 26 Oct 2009 16:34:59 +0100, Robert Noland <rnoland_at_freebsd.org>
> wrote:
> >> 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>
> 
> I tried again yesterday evening by recompiling RELENG_8 and -CURRENT. I
> somehow managed to boot into RELENG_8 the first time, but after that this
> error comes up:
> 
>      ZFS: i/o error - all block copies unavailable
>      ZFS: can't read object set for dataset ldd
>      Can't find root filesystem - giving up
>      ZFS: unexpected object set type ldd
>      ZFS: unexpected object set type ldd
> 
>      FreeBSD/i386 boot
>      Default:/ tank:/boot/kernel/kernel
>      boot:
>      ZFS: unexpected object set type ldd
> 
>      FreeBSD/i386 boot
>      Default:/ tank:/boot/kernel/kernel
>      boot: status
> 
>       pool: tank
>       config:
>           NAME    STATE
>           tank   ONLINE
>         raidz1   ONLINE
>          ad4p3   ONLINE
>          ad6p3   ONLINE
>          ad8p3   ONLINE
>         ad10p3   ONLINE
> 
> After recompiling world/kernel for -CURRENT I get roughly the same error:
> 
>      ZFS: i/o error - all block copies unavailable
>      ZFS: can't read object set for dataset 30
>      Can't find root filesystem - giving up
>      ZFS: unexpected object set type 0
>      ZFS: unexpected object set type 0
> 
>      FreeBSD/i386 boot
>      Default:/ tank:/boot/kernel/kernel
               ^^
This looks strange... Do you have bootfs set to /, or something in
loader.conf?  Does it work if you just type "tank:/boot/kernel/kernel"
at this point?

robert.

>      boot:
>      ZFS: unexpected object set type ldd
> 
>      FreeBSD/i386 boot
>      Default:/ tank:/boot/kernel/kernel
>      boot: status
> 
>       pool: tank
>       config:
>           NAME    STATE
>           tank   ONLINE
>         raidz1   ONLINE
>          ad4p3   ONLINE
>          ad6p3   ONLINE
>          ad8p3   ONLINE
>         ad10p3   ONLINE
> 
> > 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.
> > robert.
> 
> I've seen no mention of gang blocks in the errors so far.
> 
> Kind regards,
> Merijn
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
-- 
Robert Noland <rnoland_at_FreeBSD.org>
FreeBSD
Received on Tue Oct 27 2009 - 13:49:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:57 UTC