Mastodon
Linux

OpenZFS 2.4.1 Released with Linux 6.19 Compatibility and FreeBSD Fixes

OpenZFS 2.4.1 Released with Linux 6.19 Compatibility and FreeBSD Fixes
22views

Two months after the release of OpenZFS 2.4, the open-source file system and volume manager renowned for its advanced data protection features (such as snapshots, checksums, and replication) has rolled out version 2.4.1—the first maintenance release in the 2.4 series.

Key Highlights:

  • Kernel and Platform Support: This release supports Linux kernels from 4.18 to 6.19 and is compatible with FreeBSD 13.3 and newer versions, including the 14.x series. A significant portion of the update addresses compatibility with Linux 6.19, with fixes for in-tree builds, duplicate GCM assembly functions, inode state handling, and stricter --werror configurations. It also ensures successful builds on Linux 6.18 for PowerPC and RISC-V kernels.
  • Fixes and Enhancements:
  • Space Accounting: A key fix resolves incorrect space accounting for special and deduplication vdevs, ensuring more accurate reporting of available space.
  • ZFS Send Permission: The update corrects raw send permission handling for the zfs send -w -I command and improves large block feature activation during receive operations.
  • Large Microzap Activation: Issues related to activating large_microzap have been addressed, along with improvements in history logging for zpool create -t.
  • Performance Improvements:
  • ARC Eviction: Increased ARC eviction batching to enhance parallelism.
  • DBUF Prefetch Caching: Optimized dbuf prefetch caching for better performance.
  • Scrub and Resilvering: Reduced minimal scrub and resilver times for quicker data repair operations.
  • Async Destroy: Enhanced timing for async destroy processing, improving overall efficiency.
  • Deduplication Enhancements: Multiple fixes and improvements to deduplication table handling, including updates to locking mechanisms and the introduction of _by_dnode() ZAP interfaces. The compressed entry buffer sizing has been adjusted, and logging searches have been moved out of locks to reduce contention.
  • Tooling Improvements:
  • zdb now includes a new -O option for -r, allowing users to specify an object ID.
  • zfs clone now supports the -u flag to create datasets without mounting them.
  • zhack utility adds the idle subcommand and a -G option to dump the debug buffer.
  • Several ZFS Test Suite (ZTS) regressions and test cases have been fixed and updated.
  • FreeBSD-Specific Fixes: Key fixes for FreeBSD include resolving thread-unsafe debug code that caused double-free panics, restoring i386 compilation, and correcting --enable-invariants builds.
  • Linux-Specific Fixes: The Linux kernel also benefits from improved memory allocation flags in kmem and numerous SPL cleanups, removing obsolete and unsafe code paths.
  • Shell Script and Documentation Updates: Several shell script cleanups have been performed, including the removal of bashisms, improved ShellCheck compliance, safer variable scoping, and better documentation for initrd configuration and filesystem mounting.

Conclusion

OpenZFS 2.4.1 brings critical fixes, performance optimizations, and enhancements to hardware and system compatibility. The release further refines deduplication, improves handling of large datasets, and streamlines tooling for users and administrators. Additionally, it provides important platform-specific fixes for both Linux and FreeBSD users.

For full details, refer to the changelog.

Leave a Response