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

Robert Noland rnoland at FreeBSD.org
Thu Oct 15 13:53:35 UTC 2009


On Thu, 2009-10-15 at 14:08 +0200, Radek Valášek wrote:
> Hi,
> 
> I want to ask if there is something new in adding support to 
> gptzfsboot/zfsboot for reading gang-blocks?

I've been thinking of trying to fix this, but haven't really come up
with a repeatable way to test it.  I might be able to come up with at
least a hack to allow booting in the short term, but if you can try this
patch so that we can verify that the issue is indeed gang blocks.  This
doesn't fix anything yet, but it should report when it finds a gang
block.  I know that it is tricky to test when you can't boot, but if you
can apply this patch and reinstall gptzfsboot, it should tell us for
sure that gang blocks are the issue.  I assume that you have a partition
layout something like mine:

balrog% gpart show
=>        34  1953525101  ada0  GPT  (932G)
          34         128     1  freebsd-boot  (64K)
         162     8388608     2  freebsd-swap  (4.0G)
     8388770  1945136365     3  freebsd-zfs  (928G)

If so, all you should need to do is get this built and then:

#gpart bootcode -p /boot/gptzfsboot -i 1 ada0

substituting appropriate partition index and device info obviously.

robert.

>  From Sun's docs:
> 
> Gang blocks
> 
> When there is not enough contiguous space to write a complete block, the ZIO
> pipeline will break the I/O up into smaller 'gang blocks' which can later be
> assembled transparently to appear as complete blocks.
> 
> Everything works fine for me, until I rewrite kernel/world after system 
> upgrade to latest one (releng_8). After this am I no longer able to boot 
> from zfs raidz1 pool with following messages:
> 
>  >/ ZFS: i/o error - all block copies unavailable
> />/ ZFS: can't read MOS
> />/ ZFS: unexpected object set type lld
> />/ ZFS: unexpected object set type lld
> />/
> />/ FreeBSD/i386 boot
> />/ Default: z:/boot/kernel/kernel
> />/ boot:
> />/ ZFS: unexpected object set type lld
> />/
> />/ FreeBSD/i386 boot
> />/ Default: tank:/boot/kernel/kernel
> />/ boot:
> //
> /I presume it's the same issue as talked in june-2009 current mailing 
> list 
> http://lists.freebsd.org/pipermail/freebsd-current/2009-June/008589.html
> 
> Any success in that matter?
> 
> Thnx for answer.
> 
> vaLin
> _______________________________________________
> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: zfs-report-gb.patch
Type: text/x-patch
Size: 512 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20091015/e9517e7c/zfs-report-gb.bin


More information about the freebsd-fs mailing list