I’ve rebuilt my zfs modules often enough that I’ve written a script to do a clean build that should avoid old kernel modules and old libraries.
#!/bin/bash
sudo find /lib/modules -depth -type d -iname "spl" -exec rm -rf {} \;
sudo find /lib/modules -depth -type d -iname "zfs" -exec rm -rf {} \;
sudo find /usr/local/src/ -type d -a \( \
-iname "spl-*" \
-o -iname "zfs-*" \
\) -exec rm -rf {} \;
sudo find /usr/local/lib/ -type f -a \( \
-iname "libzfs*" \
-o -iname "libzpool*" \
-o -iname "libnvpair*" \
\) -exec rm -f {} \;
cd spl
git reset --hard HEAD
git checkout master
git pull
git tag | tail -1 | xargs git checkout
./autogen.sh && ./configure && make -j13 && sudo make install
cd ../zfs
git reset --hard HEAD
git checkout master
git pull
git tag | tail -1 | xargs git checkout
./autogen.sh && ./configure && make -j13 && sudo make install
sudo update-initramfs -u
sudo update-grub2
