OpenZFS 2.4.4 Released: Linux 7.2 Support, MMP Pool Recovery, and Key Fixes

The OpenZFS project has published version 2.4.4. It’s a maintenance release for the cross-platform ZFS implementation, and the full change list lives in the release notes. Two items stand out. First, Linux kernel coverage now reaches 7.2. Second, a new tool rescues pools that Multi-Modifier Protection has locked out. Here’s a summary of what’s inside.

On compatibility, 2.4.4 widens the tested Linux kernel window to 4.18–7.2. Reaching 7.2 meant moving the superblock code onto the kernel’s newer sget_fc() mount interface. FreeBSD stays a first-class target too. The 13.3 and 14.0 branches, and anything newer, remain supported.

The standout feature is zhack mmp reclaim. It recovers pools that Multi-Modifier Protection has stranded. MMP keeps two machines from importing and writing the same pool at once, which can corrupt data. But when MMP trips wrongly, a pool can become unusable. Until now, there was no clean way out. The MMP logic also improves in three ways. It better separates a failed uberblock claim from real writes by another host. It skips read-only virtual devices during activity checks. And it handles mirrors with missing members more gracefully.

Systemd users get a smaller but welcome change. Pool-import units no longer force a dependency on systemd-udev-settle. So an import need not block until udev finishes enumerating devices.

Deduplication sees a cluster of repairs. The dedup table (DDT) had several problems. Time values could overflow negative during pruning. Other pruning bugs are fixed too. So is weak locking in the verification path. And the DDT log no longer mis-tags reference counts.

Caching and the wider I/O path also improve. L2ARC rebuilds are now capped by the write hand on the first pass. Reads of blocks freed after cloning are handled correctly. Direct I/O verification events are rate-limited, so they no longer flood the event stream.

Several Linux filesystem bugs are gone. A hang in zfs_write() no longer strikes on an unfaultable buffer. mmap() reads past the end of a file now behave correctly. And fallocate() updates the mtime and ctime when it grows a file.

Pool operations were tightened on two fronts. Exporting a pool while its zvol nodes are still open now fails with EBUSY. Previously it pushed ahead with an unclean export. A timing bug between device removal and pool export is also fixed.

Replication gets attention as well. 2.4.4 handles a split large block with a short final chunk. It fixes the behavior of zfs receive -x. It also removes a possible null-pointer dereference in the DMU receive path. And a stale POSIX ACL that could linger after a rollback is now cleared.

Delegated administration gains a new send:encrypted privilege. Admins can now decide exactly who may stream encrypted datasets. The release also hardens device-permission checks. It strengthens string and memory handling in libzfs. It repairs resumed sends. It improves automatic capacity growth when a partitioned disk changes size. And it brings the usual build, CI, test-suite, and FreeBSD updates.

See also: Mastering the Linux Command Line — Your Complete Free Training Guide


FAQ

How significant is 2.4.4? It’s a maintenance release in the 2.4 line. You get compatibility work, one useful recovery tool, and many bug fixes. There are no headline new features.

What can I run it on? Linux kernels 4.18 through 7.2. Also FreeBSD 13.3 and 14.0, or newer.

What does zhack mmp reclaim do? MMP blocks a pool from being imported and written by two hosts at once. That prevents corruption. When it leaves a pool stuck, the new command brings it back.

Is this update worth prioritizing? It helps most if you use deduplication, L2ARC, encrypted send/receive, or MMP clustering. It also matters if you’re moving to a newer Linux kernel and need 7.2 support.

How should I install it? Prefer your distribution’s packages once 2.4.4 ships (dnf, apt, zypper). Or build from source per the OpenZFS docs. Keep the module and userland on the same version, then reboot into the new module.

Where are the authoritative details? In the OpenZFS 2.4.4 release notes.

Avatar photo
David Cao

David is a Cloud & DevOps Enthusiast. He has years of experience as a Linux engineer. He had working experience in AMD, EMC. He likes Linux, Python, bash, and more. He is a technical blogger and a Software Engineer. He enjoys sharing his learning and contributing to open-source.

Articles: 706

Leave a Reply

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