zfsloader 9.0 BETA3 r225759 - i/o error - all block copies unavailable

Garrett Cooper yanegomi at gmail.com
Sun Nov 6 02:02:28 UTC 2011


On Oct 18, 2011, at 7:39 AM, Andriy Gapon wrote:

> on 18/10/2011 13:35 Henri Hennebert said the following:
>> I upgrade another system to 9.0-RC1 and encounter the same problem, this time
>> zfsloader do not run.
>> 
>> After
>> 
>> mv /mnt/boot /mnt/Boot
>> mkdir /mnt/boot
>> cd /mnt/Boot
>> find . | cpio -pvdmu /mnt/boot
>> 
>> FreeBSD boot OK
>> 
>> 
>> [root at avoriaz zfsboottest]# ./zfsboottest /Boot/zfsloader /dev/ada0p2 /dev/ada1p2
>> ZFS: SPA version 28
>>  pool: rpool
>> config:
>> 
>>        NAME STATE
>>        rpool ONLINE
>>          mirror ONLINE
>>            ada0p2 ONLINE
>>            ada1p2 ONLINE
>> ZFS: i/o error - all block copies unavailable
>> can't lookup
>> 
>> 10 minutes later:
>> 
>> [root at avoriaz zfsboottest]# ./zfsboottest /Boot/zfsloader /dev/ada0p2
>> /dev/ada1p2|less
>> ZFS: SPA version 28
>>  pool: rpool
>> config:
>> 
>>        NAME STATE
>>        rpool ONLINE
>>          mirror ONLINE
>>            ada0p2 ONLINE
>>            ada1p2 ONLINE
>> <blablabla>
>> 
>> it seems ok :-o
>> 
>> and a other time:
>> [root at avoriaz zfsboottest]# ./zfsboottest /Boot/zfsloader /dev/ada0p2
>> segmentation fault...
>> 
>> Strange isn't it.
> 
> I think that it would be smart to not do any filesystem modifications after the
> problem is detected / reproduced.
> Also, currently zfsboottest doesn't do much of a problem self-diagnostics, so
> using gdb or/and adding some printfs in the code are required to understand a
> nature of a problem.  Like what kind of block gives an I/O error, if it actual
> reading that fails or checksum verification or etc, and so on.

	Running into the same issue with a post-RC1 kernel.

1. ZFS on root.
2. stable/9.
3. Here's my zpool status output:

$ zpool status
  pool: sac
 state: ONLINE
 scan: none requested
config:

	NAME        STATE     READ WRITE CKSUM
	sac         ONLINE       0     0     0
	  ada0p3    ONLINE       0     0     0

errors: No known data errors

  pool: store
 state: ONLINE
 scan: none requested
config:

	NAME        STATE     READ WRITE CKSUM
	store       ONLINE       0     0     0
	  mfid0p1   ONLINE       0     0     0

errors: No known data errors
$  sudo ./zfsboottest /boot/zfsloader /dev/ada0p3 
# Spits out the zpool status and a lot of other boot gobbledygook.

	If I use the new gptzfsboot, then my system becomes unbootable with the old kernel (it can't find the zpool).

gpart bootcode -b /mnt2/boot/pmbr -p /mnt2/boot/gptzfsboot -i 1 ada0

	It spits out "I/O error - all block copies unavailable" at boot; if I manually did boot <kernel>, then everything worked. So I figured it was an environmental issue. I changed /boot/kernel from a symlink to a kernel directory to a standard directory and things worked as expected.
	Your issue might be similar, but it would be nice if booting from symlinks was either fixed or enhanced to work properly with gptzfsboot.
Thanks,
-Garrett


More information about the freebsd-fs mailing list