OpenZFS 2.4.1 Released with Linux 6.19 Compatibility and FreeBSD Fixes

OpenZFS 2.4.1 adds Linux 6.19 support, improves FreeBSD compatibility, and delivers dozens of stability and build fixes across platforms.

Two months after the previous 2.4 release, OpenZFS, an open-source file system and volume manager with advanced data protection features like snapshots, checksums, and replication, has rolled out version 2.4.1 as the first maintenance release in the series.

The release supports Linux kernels from 4.18 to 6.19 and is compatible with FreeBSD 13.3 and newer, including 14.x series. Much of the update addresses Linux 6.19 compatibility, with fixes for in-tree builds, duplicate GCM assembly functions, inode state handling, and stricter --werror configurations. Other fixes ensure successful builds on Linux 6.18 with PowerPC and RISC-V kernels.

One of the key fixes resolves incorrect available space accounting for special and dedup vdevs. The update also corrects raw send permission handling for zfs send -w -I, improves handling of large block feature activation during receive, and fixes issues related to activating large_microzap. History logging for zpool create -t has been corrected as well.

Regarding performance, ARC eviction batching has been increased to improve parallelism, and dbuf prefetch caching has been enhanced. Minimal scrub and resilver times have been reduced, and async destroy processing timing has been improved.

Deduplication table handling sees multiple locking and interface improvements, including the addition and use of _by_dnode() ZAP interfaces and fixes for compressed entry buffer sizing. Logging searches have been moved out of locks to reduce contention.

On the tooling side, zdb gains a new -O option for -r to specify an object ID, and zfs clone now accepts -u to create datasets without mounting them. The zhack utility adds an action idle subcommand and a -G option to dump the debug buffer. Several ZFS Test Suite (ZTS) regressions and test cases have been updated or corrected.

FreeBSD-specific fixes address thread-unsafe debug code that caused double-free panics, remove obsolete references to DEBUG_VFS_LOCKS, restore i386 compilation, and correct --enable-invariants builds. Linux-specific memory allocation flags have been refined in kmem, and several SPL cleanups remove obsolete or unsafe code paths.

The release also includes numerous shell script cleanups and standardization changes, including removal of bashisms, improved shellcheck compliance, safer variable scoping, and documentation clarifications around initrd configuration and filesystem mounting.

For more information, see the changelog.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Leave a Reply

Your email address will not be published. Required fields are marked *