[Pkg-zfsonlinux-devel] Bug#983179: zfs-dkms: fails to build with backports kernel 5.10.0-0.bpo.3-amd64

Christian Garbs mitch at cgarbs.de
Sat Feb 20 16:42:31 GMT 2021


Package: zfs-dkms
Version: 0.8.6-1~bpo10+1
Severity: important

Dear Maintainer,

   * What led up to the situation?

The kernel in stretch-backports was updated from 5.9.0-0.bpo.5-amd64
to 5.10.0-0.bpo.3-amd64.  After rebooting, I was dropped to the
initramfs rescue shell because my ZFS root file system could not be
mounted.

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

The last time this has happened, the zfs-dkms module build did not run
automaticalls and thus the zfs modules were missing from the initrd.
I have since fixed this by setting REMAKE_INITRD='yes' in
/etc/dkms/zfs.conf, but my first guess was that it has somehow gone
wrong again.

So I booted up the previous kernel (really grateful for that option)
and tried to do a manual install of zfs-dkms via

$ dkms install -k 5.10.0-0.bpo.3-amd64 zfs/0.8.6

   * What was the outcome of this action?

The compilation of the module failed, which explains why the ZFS
modules were not included in the initrd in the first place.

Compilation log shows this as the source of the error:

 - - - 8< - - -

  CC [M]  /var/lib/dkms/zfs/0.8.6/build/module/zfs/vdev_disk.o
/var/lib/dkms/zfs/0.8.6/build/module/zfs/vdev_disk.c: In function ‘vdev_blkg_tryget’:
/var/lib/dkms/zfs/0.8.6/build/module/zfs/vdev_disk.c:506:37: error: ‘struct percpu_ref’ has no member named ‘count’
   rc = atomic_long_inc_not_zero(&ref->count);
                                     ^~
make[6]: *** [/usr/src/linux-headers-5.10.0-0.bpo.3-common/scripts/Makefile.build:284: /var/lib/dkms/zfs/0.8.6/build/module/zfs/vdev_disk.o] Error 1

 - - - >8 - - -


   * What outcome did you expect instead?

I had expected zfs-dkms to build without failure, update my initrd and
be able to boot into the current stretch-backports kernel.

Due to some issues with Intel onboard graphics, I need to use the
newer backports kernel instead of the the original stretch kernel.



btw: Is there any way I can tell the kernel installer or the initramfs
creation to fail if the the ZFS module has not been compiled?



-- System Information:
Debian Release: 10.8
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.9.0-0.bpo.5-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=de_DE.utf-8, LC_CTYPE=de_DE.utf-8 (charmap=UTF-8), LANGUAGE=de_DE.utf-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages zfs-dkms depends on:
ii  debconf [debconf-2.0]  1.5.71
ii  dkms                   2.6.1-4
ii  file                   1:5.35-4+deb10u2
ii  libc6-dev [libc-dev]   2.28-10
ii  libpython3-stdlib      3.7.3-1
ii  lsb-release            10.2019051400
ii  perl                   5.28.1-6+deb10u1
ii  python3-distutils      3.7.3-1

Versions of packages zfs-dkms recommends:
ii  linux-libc-dev  4.19.171-2
ii  zfs-zed         0.8.6-1~bpo10+1
ii  zfsutils-linux  0.8.6-1~bpo10+1

Versions of packages zfs-dkms suggests:
pn  debhelper  <none>

-- debconf information:
  zfs-dkms/stop-build-for-unknown-kernel: true
* zfs-dkms/note-incompatible-licenses:
  zfs-dkms/stop-build-for-32bit-kernel: true


More information about the Pkg-zfsonlinux-devel mailing list