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 Answers1

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.)