When Fedora release kernel 4.20.*, the ZFS 0.7.12 could no longer compiled. Accoriding to the ZFS release page at Github zfs-0.7.12 is only compartible iwth kernels 2.6.32 - 4.19.

At first I was going to just wait for the 0.8.0 release, and continue to use kernel 4.19. However, Fedora keeps releasing the updates of kernel 4.20. As of this writing, the current version of the kernel on Fedora 29 is 4.20.6-200. At the same time, zfs-0.8.0 is still not yet released.

So I decided to install the pre-release of zfs-0.8.0. I have a backup of the zpool, so if there is a data loss, it should be fine to just restore it from the backup.

It’s very easy to install or enable the pre-release of zfs on Fedora 29. First, enable the zfs-testing repo by changing enabled=1:

[zfs-testing]
name=ZFS on Linux for Fedora $releasever - Testing
baseurl=http://download.zfsonlinux.org/fedora-testing/$releasever/$basearch/
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux

Then just run dnf update as usual. The zfs package will be asked to upgrade.

Note that zfs-0.8.0 combiles zfs module with spl module. Don’t be surprised if you couldn’t find an update package for spl.

Finally to install the zfs module for the new kernel, run:

# dkms install zfs/0.8.0 -k 4.20.6-200.fc29.x86_64

When newer kernel is updated, zfs module should be recompiled automatically.