1

Just now I did an apt-get upgrade, which upgraded package spl to 0.6.4.1. After rebooting, my zfs-formatted disk failed to mount. How should I regain zfs functionality?

All zfs commands are now aborting with

Failed to load ZFS module stack.
Load the module manually by running 'insmod <location>/zfs.ko' as root.

When I follow that instruction, insmod /var/lib/dkms/zfs/0.6.3/3.13.0-49-generic/x86_64/module/zfs.ko fails as well:

error inserting '/var/lib/.../zfs.ko': -1 Unknown symbol in module

The OS, according to /etc/lsb-release and uname -a, is

12.04.5 LTS
Linux 3.13.0-49-generic #81~precise1-Ubuntu SMP Wed Mar 25 ... x86_64 x86_64 x86_64

Perhaps the upgraded spl package is incompatible with the other zfs packages, because dkms status reports 0.6.4.1 vs. 0.6.3:

fglrx, 13.350.1, 3.13.0-36-generic, x86_64: installed
fglrx, 13.350.1, 3.13.0-39-generic, x86_64: installed
fglrx, 13.350.1, 3.13.0-40-generic, x86_64: installed
fglrx, 13.350.1, 3.13.0-43-generic, x86_64: installed
fglrx, 13.350.1, 3.13.0-44-generic, x86_64: installed
fglrx, 13.350.1, 3.13.0-45-generic, x86_64: installed
fglrx, 13.350.1, 3.13.0-46-generic, x86_64: installed
fglrx, 13.350.1, 3.13.0-48-generic, x86_64: installed
fglrx, 13.350.1, 3.13.0-49-generic, x86_64: installed
spl, 0.6.4.1, 3.13.0-46-generic, x86_64: installed
spl, 0.6.4.1, 3.13.0-49-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-36-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-37-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-39-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-40-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-43-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-44-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-45-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-46-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-48-generic, x86_64: installed
zfs, 0.6.3, 3.13.0-49-generic, x86_64: installed
zfs, 0.6.3, 3.8.0-36-generic, x86_64: installed
zfs, 0.6.3, 3.8.0-44-generic, x86_64: installed

But apt-cache policy spl reports that the only version of spl is 0.6.4.1-1~precise, so I can't un-upgrade spl even if I wanted to.

The other zfs packages installed are, from dpkg --get-selections:

libzfs1 ubuntu-zfs zfs-auto-snapshot zfs-dkms zfsutils

I'd prefer to stick to Ubuntu packages, instead of (say) manually installing spl-0.6.3 from http://zfsonlinux.org/ . That might break things even worse.

[Edit at gertvdijk's request:

# grep -rF zfs /etc/apt
/etc/apt/sources.list.d/zfs-native-stable-precise.list:deb http://ppa.launchpad.net/zfs-native/stable/ubuntu precise main
/etc/apt/sources.list.d/zfs-native-stable-precise.list:deb-src http://ppa.launchpad.net/zfs-native/stable/ubuntu precise main
/etc/apt/preferences.d/pin-zfs-native:Pin: release o=LP-PPA-zfs-native-daily
/etc/apt/preferences.d/pin-zfs-native:Pin: release o=LP-PPA-zfs-native-grub
/etc/apt/preferences.d/pin-zfs-native:Pin: release o=LP-PPA-zfs-native-stable

# apt-cache policy zfs-dkms spl-dkms
zfs-dkms:
  Installed: 0.6.3-2~precise
  Candidate: 0.6.4.1-1~precise
  Version table:
     0.6.4.1-1~precise 0
       1001 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ precise/main amd64 Packages
 *** 0.6.3-2~precise 0
        100 /var/lib/dpkg/status
spl-dkms:
  Installed: 0.6.4.1-1~precise
  Candidate: 0.6.4.1-1~precise
  Version table:
 *** 0.6.4.1-1~precise 0
       1001 http://ppa.launchpad.net/zfs-native/stable/ubuntu/ precise/main amd64 Packages
        100 /var/lib/dpkg/status

]

How should I recover from this? Where should I investigate further?

  • 1
    The modules zfs and spl are indeed now incompatible. The ZFS module is also upgraded to 0.6.4.x in the PPA (see here). Perhaps you have to run sudo apt-get update; sudo apt-get dist-upgrade to get zfs upgraded too? Please include full output of the commands grep -rF zfs /etc/apt and apt-cache policy zfs-dkms spl-dkms. It could also be possible your zfs packages have been upgraded perfectly fine, but the DKMS build failed for some reason. – gertvdijk Apr 27 '15 at 20:28
  • Also, the ZFS packages may not be compatible with the linux-image-generic-lts-trusty kernel you appear to be running (3.13 backported from Trusty to Precise) and fail on the DKMS build. It may help to change the ppa source to trusty for you, or to revert the kernel to a supported one for ZFS. Just guessing though. – gertvdijk Apr 27 '15 at 20:34
  • 1. Full output added, in an edit. 2. Now that you mention it, depmod ran several times instead of just once. For a minute I feared that the apt-get upgrade was stuck in an infinite loop. 3. Given this new info, should I dist-upgrade? Or try to DKMS build manually, e.g. askubuntu.com/questions/53364/… ? – Camille Goudeseune Apr 27 '15 at 20:48
  • 1
    Please try sudo apt-get install ubuntu-zfs zfs-dkms and provide full output. It should mention an error in the upgrade/postinstall configuration, because the new 0.6.4.1 version is perfectly a new installable candidate. I'm sure you've overlooked some pretty fatal error messages during your previous upgrade command. I think your apt output will mention a DKMS error log, please provide that output too (or on paste.ubuntu.com or something.) :) – gertvdijk Apr 27 '15 at 21:02
  • Full output is in paste.ubuntu.com/10916676 . No DKMS error log was mentioned. Happily, zfs commands now work again! Unhappily, zfs mount -a appears to do nothing, and zfs list says no pools available. – Camille Goudeseune Apr 27 '15 at 22:04
2

To make zfs compatible again with spl, as root:

apt-get install ubuntu-zfs zfs-dkms
zpool import -a
zfs mount -a

(This summarizes the comments with gertvdijk, who deserves the credit for this answer but may have lost interest as almost a week has passed.)

  • This fix worked again today, when a power outage forced a reboot, and zpool status again failed with Failed to load ZFS module stack. After the fix, both zfs-dkms and spl-dkms now have installed version 0.6.4.1-1~precise. – Camille Goudeseune Jun 23 '15 at 20:02

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.