I just updated my Gentoo system, updating my world, including ZFS. Everything but the kernel. I figured I'd do a reboot first, then build a new kernel. Currently, it's running on kernel 3.17.8-gentoo-r1.
My kernel is supported by ZFS. Also, in the past I've been able to do an update from ZFS 0.6.2 to 0.6.3. Today, I went from said 0.6.3 to 0.6.5.4.
Since everything but /boot is on ZFS, I can't boot anymore and get stuck in a half-life. No kernel panic, but empty filesystems. Whenever I try any zfs/zpool operation, I get an error:
# zpool status
internal error: Success
Amusing though that success-statement may be, I'm adrift.
Calling it by name gives a different error:
# zpool status system
zpool: libzfs_status.c:201: Assertion `nvlist_lookup_uint64(config, ZPOOL_CONFIG_VERSION, &version) == 0' failed.
At first I remembered that ZFS checks for the kernel version to compile itself against that kernel. Also that ZFS is a module.
So I already did a
make modules and
make modules_install. Do I need to rebuild my kernel and initramfs? The second one is annoying, since genkernel has a bug. But it can be done.
I'm currently chrooted into the system (with a mounted ZFS) using Funtoo's ZFS rescue CD. FYI, same errors happen in the chrooted environment. The 'host'-environment has no issues with the volumes.
I will continue to search for answers. I did, however, wish to pose the question at this time since you may be able to reduce my time searching. The exact procedure/order for a ZFS update hasn't exactly been documented very well.
PS It's running on SystemD, if that matters. I don't believe it would.