Extending zfsboot.c to allow selecting filesystem from boot.config

Andriy Gapon avg at FreeBSD.org
Sat Nov 26 11:39:43 UTC 2011


on 25/11/2011 23:47 Florian Wagner said the following:
> No more memory corruptions with the patch, but booting now stops with
> "ZFS: zfs_alloc()/zfs_free() mismatch".

This happens only with real boot, not with zfsboottest?

> If I comment out lines 145-148 in the zfsboottest.c you linked, I can
> successfully read files from the pool by doing ./zfsboottest <FILENAME>

Ah, right, those lines were left there by mistake during merge.

> <LIST-OF-VDEVS>. This also works correctly when omitting up to two
> vdevs of my RAID-Z2 pool:
> 
>   # ./zfsboottest /boot/zfsloader /dev/da{0,1,2}p2 2>/dev/null | md5
>   336c56a04c8d6d432df999b35ce459f7
>   # md5 /boot/zfsloader
>   MD5 (/boot/zfsloader) = 336c56a04c8d6d432df999b35ce459f7
> 
> 
> After applying the patch from [1] (the thread references the same
> output I get, even if the conclusion doesn't fit) I can sometimes
> boot my VM. This seems to correlate with how much is written to the
> pool. Quickly rebooting after the system comes up works, but waiting a
> few minutes always results in getting the mismatch error on the reboot.
> After that only booting with unpatched gptzfsboot works (whereafter the
> patched one works again for one reboot or so).

Oh, strangeness...

-- 
Andriy Gapon


More information about the freebsd-fs mailing list