openzfs / zfs

OpenZFS on Linux and FreeBSD
https://openzfs.github.io/openzfs-docs
Other
10.57k stars 1.74k forks source link

Unknown symbol pagecache_get_page_fixed #3274

Closed whatarcane closed 9 years ago

whatarcane commented 9 years ago

I installed the new zfs 0.6.4, and after reboot I got:

zpool status

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

insmod /lib/modules/3.16.0-0.bpo.4-amd64/updates/dkms/zfs.ko

Error: could not insert module /lib/modules/3.16.0-0.bpo.4-amd64/updates/dkms/zfs.ko: Unknown symbol in module

in syslog (repeated many times): kernel: [ 303.099189] zfs: Unknown symbol pagecache_get_page_fixed (err 0)

FransUrbo commented 9 years ago

Error: could not insert module /lib/modules/3.16.0-0.bpo.4-amd64/updates/dkms/zfs.ko: Unknown symbol in module

Looks like you weren't paying attention. SPL was probably not built (correctly).

whatarcane commented 9 years ago

What should have alerted me? This is what was printed during installation for the spl installation and after (I don't see anything wrong apart from the "sh: 1: .: : not found" bit):

Unpacking replacement spl ... Preparing to replace spl-dkms 0.6.3-1.3-2~wheezy (using .../spl-dkms_0.6.4-1-wheezy_all.deb) ...

-------- Uninstall Beginning -------- Module: spl Version: 0.6.3

Kernel: 3.16.0-0.bpo.4-amd64 (x86_64)

Status: Before uninstall, this module version was ACTIVE on this kernel.

spl.ko:

splat.ko:

depmod....

DKMS: uninstall completed.

-------- Uninstall Beginning -------- Module: spl Version: 0.6.3

Kernel: 3.2.0-4-amd64 (x86_64)

Status: Before uninstall, this module version was ACTIVE on this kernel.

spl.ko:

splat.ko:

depmod....

DKMS: uninstall completed.

DKMS: uninstall completed.


Deleting module version: 0.6.3

completely from the DKMS tree.

Done. Unpacking replacement spl-dkms ... Selecting previously unselected package init-system-helpers. Unpacking init-system-helpers (from .../init-system-helpers_1.21_all.deb) ... Preparing to replace zfsutils 0.6.3-1.3-2~wheezy (using .../zfsutils_0.6.4-1-wheezy_amd64.deb) ... Unpacking replacement zfsutils ... Preparing to replace debootstrap 1.0.48+deb7u2 (using .../debootstrap_1.0.48+deb7u2.ZOL1_all.deb) ... Unpacking replacement debootstrap ... Preparing to replace zfsonlinux 4 (using .../archives/zfsonlinux_5_all.deb) ... Unpacking replacement zfsonlinux ... Processing triggers for man-db ... Processing triggers for install-info ... Processing triggers for dracut ... dracut: Generating /boot/initrd.img-3.16.0-0.bpo.4-amd64 dracut: Generating /boot/initrd.img-3.2.0-4-amd64 Setting up libgpg-error0:amd64 (1.12-0.2~bpo70+1) ... Setting up libp11-kit0:amd64 (0.20.7-1~bpo70+1) ... Setting up dmidecode (2.12-2~bpo70+1) ... Setting up libdpkg-perl (1.16.16) ... Setting up dpkg-dev (1.16.16) ... Setting up libuutil1 (0.6.4-1-wheezy) ... Setting up libnvpair1 (0.6.4-1-wheezy) ... Setting up libzpool2 (0.6.4-1-wheezy) ... Setting up libzfs2 (0.6.4-1-wheezy) ... Setting up grub-common (2.02-beta2.9-ZOL10-7aa9f6-wheezy) ... Installing new version of config file /etc/grub.d/00_header ... Installing new version of config file /etc/grub.d/20_linux_xen ... Installing new version of config file /etc/grub.d/05_debian_theme ... Installing new version of config file /etc/grub.d/30_os-prober ... Installing new version of config file /etc/grub.d/10_linux ... Installing new version of config file /etc/grub.d/30_uefi-firmware ... Installing new version of config file /etc/bash_completion.d/grub ... Setting up grub2-common (2.02-beta2.9-ZOL10-7aa9f6-wheezy) ... Setting up grub-efi-amd64-bin (2.02-beta2.9-ZOL10-7aa9f6-wheezy) ... Setting up grub-efi-amd64 (2.02-beta2.9-ZOL10-7aa9f6-wheezy) ... sh: 1: .: : not found Installing for x86_64-efi platform. Installation finished. No error reported. Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.16.0-0.bpo.4-amd64 Found initrd image: /boot/initrd.img-3.16.0-0.bpo.4-amd64 Found linux image: /boot/vmlinuz-3.2.0-4-amd64 Found initrd image: /boot/initrd.img-3.2.0-4-amd64 Found memtest86 image: /boot/memtest86.bin Found memtest86+ image: /boot/memtest86+.bin Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin No volume groups found done Setting up grub-efi (2.02-beta2.9-ZOL10-7aa9f6-wheezy) ... Setting up libxapian22 (1.2.16-2~bpo70+1) ... Setting up spl (0.6.4-1-wheezy) ... Setting up spl-dkms (0.6.4-1-wheezy) ... Loading new spl-0.6.4 DKMS files... Building only for 3.16.0-0.bpo.4-amd64 Building initial module for 3.16.0-0.bpo.4-amd64 Done.

spl: Running module version sanity check.

splat.ko: Running module version sanity check.

Running the post_install script:

depmod....

DKMS: install completed. Setting up init-system-helpers (1.21) ... Setting up zfsutils (0.6.4-1-wheezy) ... Configuration file `/etc/default/zfs' ==> Modified (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. *\ zfs (Y/I/N/O/D/Z) [default=N] ? Installing new version of config file /etc/init.d/zed ... Installing new version of config file /etc/init.d/zfs-mount ... Installing new version of config file /etc/zfs/common.init ... Setting up debootstrap (1.0.48+deb7u2.ZOL1) ... Setting up zfsonlinux (5) ... Setting up zfs-dkms (0.6.4-1-wheezy) ... Loading new zfs-0.6.4 DKMS files... Building only for 3.16.0-0.bpo.4-amd64 Building initial module for 3.16.0-0.bpo.4-amd64 Done.

zavl: Running module version sanity check.

zcommon.ko: Running module version sanity check.

znvpair.ko: Running module version sanity check.

zpios.ko: Running module version sanity check.

zunicode.ko: Running module version sanity check.

zfs.ko: Running module version sanity check.

depmod....

DKMS: install completed. Processing triggers for dracut ... dracut: Generating /boot/initrd.img-3.16.0-0.bpo.4-amd64 dracut: Generating /boot/initrd.img-3.2.0-4-amd64

Current status: 3 updates [-23].

FransUrbo commented 9 years ago

apart from the "sh: 1: .: : not found" bit):

That is benign. Setting up spl-dkms (0.6.4-1-wheezy) ...

Loading new spl-0.6.4 DKMS files... Building only for 3.16.0-0.bpo.4-amd64 Building initial module for 3.16.0-0.bpo.4-amd64 Done.

Ok, my bad. Seems that went well. Setting up zfs-dkms (0.6.4-1-wheezy) ... Loading new zfs-0.6.4 DKMS files... Building only for 3.16.0-0.bpo.4-amd64 Building initial module for 3.16.0-0.bpo.4-amd64 Done.

As did this. dracut: Generating /boot/initrd.img-3.16.0-0.bpo.4-amd64 dracut: Generating /boot/initrd.img-3.2.0-4-amd64

… and this.

whatarcane commented 9 years ago

Is there any other information that could be helpful for me to supply? I tried various combinations of rebooting using the 3.2 kernel, purging and reinstalling 3.16, rebooting using 3.16, purging and reinstalling zfs, but that didn't get me anywhere.

FransUrbo commented 9 years ago

Is there any other information that could be helpful for me to supply?

I honestly have no idea where that symbol comes from. It's not in spl, zfs nor in my 3.2.0 kernel sources.

But it seems to be a problem with your kernel. I found this when googling a little:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779922

If you follow the links to the other issues about this, they don't seem to know what to do with that.

whatarcane commented 9 years ago

Thank you, that convinced me to try again downgrading to 3.2. In case it helps anyone, here's what I did to recover. I am not offering any guarantees this is the correct (nevermind optimal) thing to do or that doing this won't leave your system unbootable: -purged dracut, linux-image-3.16, all packages with "zfs" in the name -downgraded grub-efi (was at "grub-efi 2.02-beta2.9-ZOL10-7aa9f6-wheezy" -- for some reason the first update I did for zfs also installed several beta ZOL packages) and initramfs-tools: aptitude install initramfs-tools=0.109.1 aptitude install grub-efi=1.99-27+deb7u2 (also needed to run "update-initramfs -u -t -k 3.2.0-4-amd64") -reboot -purge spl spl-dkms apt-get install debian-zfs zpool import -d /dev/disk/by-id Everything seems fine now. Closing.