OpenZFS 2.2.2 Linux kernel modules

Arwen

MVP
Joined
May 17, 2014
Messages
3,611
At some point between OpenZFS versions 2.1.4 and 2.2.2, they changed the amount of Linux kernel modules. In the past there used to be perhaps a dozen. Like separate ones for ZSTD and LUA. But yesterday when I updated my home Linux computers. (which use OpenZFS), the update to 2.2.2 mentioned removed obsolete modules. And when done, only these 2 remain;
extra/zfs.ko extra/spl.ko
In someways this is nice, reduces kernel clutter.

My normal practice for home Linux kernels is to build in any feature that I use, that has no issue with being built in. Meaning, unless their is a reason, like Bluetooth or certain crypto functions I don't use often, I have an all-in-one kernel. (And the converse is true, anything I never use, is not enabled in the kernel configuration... thus not part of my kernels.)

I wonder if this was due to a code cleanup. Have not been reading the OpenZFS GitHub Issues and Pull requests for more than a year... so perhaps it's time I start again.
 

Arwen

MVP
Joined
May 17, 2014
Messages
3,611
Updating another computer, I have this list of old kernel modules;
Code:
 * Found obsolete zfs module avl/zavl.ko for current kernel 5.10.74-gentoo.5, removing.
 * Found obsolete zfs module icp/icp.ko for current kernel 5.10.74-gentoo.5, removing.
 * Found obsolete zfs module lua/zlua.ko for current kernel 5.10.74-gentoo.5, removing.
 * Found obsolete zfs module nvpair/znvpair.ko for current kernel 5.10.74-gentoo.5, removing.
 * Found obsolete zfs module spl/spl.ko for current kernel 5.10.74-gentoo.5, removing.
 * Found obsolete zfs module unicode/zunicode.ko for current kernel 5.10.74-gentoo.5, removing.
 * Found obsolete zfs module zcommon/zcommon.ko for current kernel 5.10.74-gentoo.5, removing.
 * Found obsolete zfs module zfs/zfs.ko for current kernel 5.10.74-gentoo.5, removing.
 * Found obsolete zfs module zstd/zzstd.ko for current kernel 5.10.74-gentoo.5, removing.

Two of them are still used as my original post, just updated;
extra/zfs. extra/spl.ko

Another weird thing, pool status shows some odd text of "(non-allocating)". See below. But, it appears to go away after reboot. This is probably due to the half upgrade, where user-land is updated but the modules are awaiting the reboot.
root@computer:~# zfs -V zfs-2.2.2-r1-gentoo zfs-kmod-2.1.14-r0-gentoo

Here is the odd pool status;
Code:
pool: rpool
 state: ONLINE
status: Some supported and requested features are not enabled on the pool.
        The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not support
        the features. See zpool-features(7) for details.
  scan: scrub repaired 0B in 00:01:30 with 0 errors on Thu Feb 15 03:39:32 2024
config:

        NAME                              STATE     READ WRITE CKSUM
        rpool                             ONLINE       0     0     0
          mirror-0                        ONLINE       0     0     0
            nvme0n1p6                     ONLINE       0     0     0  (non-allocating)
            wwn-0x5002538e31716e4a-part6  ONLINE       0     0     0  (non-allocating)
 
Last edited:
Joined
Oct 22, 2019
Messages
3,641
I noticed the same thing too on my Arch Linux system.

I actually agree with this new approach. Cleaner and more simplified.

It also makes checking/overriding parameters more straight forward.
 

Arwen

MVP
Joined
May 17, 2014
Messages
3,611
OpenZFS 2.2.2 does appear to change Grub2 compatibility. My root pools have "compatibility=grub2", which removed the suggested pool upgrade features message in zpool status. But, that message returned with OpenZFS 2.2.2.

Perhaps I need to see what Grub2 compatibility is today, with 2.2.2 and see if it is reasonable to enable missing features.

In my case, (all 4 Linux computers with root on ZFS), they still use an EXT4 "/boot" mirrored with MDADM. So in theory, I can have any ZFS features on my boot pool. (I sort of needed to maintain MDADM as swap on ZFS zVol is not perfectly supported on Linux.)
 

probain

Patron
Joined
Feb 25, 2023
Messages
211
OpenZFS 2.2.2 does appear to change Grub2 compatibility. My root pools have "compatibility=grub2", which removed the suggested pool upgrade features message in zpool status. But, that message returned with OpenZFS 2.2.2.
TrueNas has enabled this flag for me. And as such I do not see a suggested pool upgrade for 'boot-pool'.
Code:
boot-pool  compatibility                  grub2                          local
 

Arwen

MVP
Joined
May 17, 2014
Messages
3,611
Looks like these are the ones now supported by Grub2, that I don't currently have enabled;
allocation_classes userobj_accounting project_quota zpool_checkpoint spacemap_v2 log_spacemap resilver_defer livelist zilsaxattr device_rebuild block_cloning
 
Top