On 2011-Sep-07 19:35:09 +0300, Andriy Gapon <a...@freebsd.org> wrote:
>Thanks to a lot of excellent testing, debugging and analysis from Sebastian
>(which went behind the scenes) we now have this patch:
>http://people.freebsd.org/~avg/zfs-boot-gang.diff
...
>If you use compression for a filesystem where your kernel resides and
>you get a problem with booting, then please test this patch and
>report back.

Since the problem isn't consistent (it can appear on some files but not
others), I modified zfstest to take a pathname, rather than have the
pathname hard-coded.  Using this, I found an example file that works
with the patch but not with the old ZFS code:

pjdesk% ./zfstest.old /boot/kernel.old/iwn6000fw.ko.symbols  /dev/ad0p3 |less
ZFS: i/o error - all block copies unavailable
can't lookup
pjdesk% ./zfstest.old /boot/kernel.old/iwn6000fw.ko.symbols  /dev/ad0p3 |less
ZFS: i/o error - all block copies unavailable
can't lookup
pjdesk% ./zfstest.old /boot/kernel.old/iwn6000fw.ko.symbols  /dev/ad0p3 |less
ZFS: i/o error - all block copies unavailable
can't lookup
pjdesk% ./zfstest /boot/kernel.old/iwn6000fw.ko.symbols  /dev/ad0p3 |less    
^?ELF^B^A^A     ^@^@^@^@^@^@^@^@^A^@>^@^A^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@p
...
pjdesk% ./zfstest /boot/kernel.old/iwn6000fw.ko.symbols  /dev/ad0p3 | cmp - 
/boot/kernel.old/iwn6000fw.ko.symbols
pjdesk% ./zfstest /boot/kernel.old/iwn6000fw.ko.symbols  /dev/ad0p3 | cmp - 
/boot/kernel.old/iwn6000fw.ko.symbols
pjdesk% ./zfstest.old /boot/kernel.old/iwn6000fw.ko.symbols  /dev/ad0p3 | cmp - 
/boot/kernel.old/iwn6000fw.ko.symbols 
stdin /boot/kernel.old/iwn6000fw.ko.symbols differ: char 1, line 1
pjdesk% 

This was tested on an 8-STABLE system at r225392.  I've built new
bootblocks but not tested them yet - I will do that tomorrow.

-- 
Peter Jeremy

Attachment: pgpVRdecjLxqB.pgp
Description: PGP signature

Reply via email to