ELSEIF
Your brief EB
300 stories from 122 feeds 505 clusters Refreshed 24 minutes ago next pull 11:56

INFRA Signal 453

OpenZFS 2.4.4 widens Linux kernel support to 7.2, ships zhack mmp reclaim for stranded pools

OpenZFS 2.4.4 extends Linux kernel support to 7.2, introduces a zhack mmp reclaim command for pools stranded by Multi-Modifier Protection, and bundles a wide set of DDT, L2ARC, and pool-export fixes.

WHY IT MATTERS

The MMP reclaim command gives operators a recovery path for pools stuck after Multi-Modifier Protection failures, which previously had no clean resolution. The export behavior change (now returning EBUSY when zvol minors are in use) is a breaking change for any automation that assumed `zpool export` either succeeded or failed clearly, so scripts should be reviewed before deploying 2.4.4 broadly.

Written by elseif from the cluster below · every claim links back to a source

The three things worth knowing

01

Linux kernel support now spans 4.18 through 7.2, with the ZFS superblock code ported to the kernel's sget_fc() interface.

02

The new zhack mmp reclaim command recovers pools stranded by Multi-Modifier Protection, with improved detection that distinguishes a failed uberblock claim from genuine activity on another host.

03

zpool export now returns EBUSY when zvol minor devices belonging to the pool are still in use, and the systemd-udev-settle dependency is now optional for systemd pool import units.

THE READ

What the cluster adds up to.

ORIGINAL ANALYSIS

OpenZFS 2.4.4 is a maintenance update that bundles platform-compatibility work with a long list of reliability fixes. The officially supported Linux kernel range now runs from 4.18 through 7.2, and the superblock path was ported to the kernel's sget_fc() interface to track that change. FreeBSD support remains at 13.3+ and 14.0+. A smaller but operationally meaningful change is that systemd-udev-settle is now an optional dependency for systemd pool import units, which removes an unconditional wait for udev to finish before an import unit can proceed.

The headline new tool is `zhack mmp reclaim`, aimed at pools stranded by Multi-Modifier Protection. MMP is OpenZFS's safeguard against the same storage pool being imported and modified on multiple hosts simultaneously, a situation that would otherwise risk corruption. Alongside the reclaim command, the MMP code now does a better job of distinguishing a failed uberblock claim from genuine activity on another host, skips non-writable vdevs during activity checks, and handles degraded mirrors with absent legs more cleanly. For an operator whose pool is stuck after a Multi-Modifier Protection failure, this is the first built-in recovery path.

Several changes affect pool-management scripts and automation. `zpool export` now returns EBUSY when zvol minor devices belonging to the pool are still in use, instead of silently proceeding with an unclean export. A race between device-removal completion and pool export was also fixed. The net effect for scripting is that export success or failure is now a more reliable signal, but any code that relied on the previous behaviour to detach a busy pool will need updating. On the delegation side, a new `send:encrypted` permission lets admins permit or deny sending encrypted datasets per delegation.

Storage-internals fixes are concentrated in the Deduplication Table: negative time overflows during pruning, multiple pruning bugs, insufficient locking during dedup verification, and incorrect reference-count tagging in the DDT log. L2ARC rebuilding during the first sweep is now bounded by the write hand, capping how much work that initial scan can perform. Direct I/O verification events are rate-limited to prevent excessive event generation under load. Reads through blocks freed after cloning are corrected, and the POSIX ACL cache no longer goes stale after a rollback.

Receive-path fixes include split large blocks with a short trailing chunk, `zfs receive -x` behavior, and a null-pointer dereference in the DMU receive code. Linux-specific fixes cover an infinite loop in `zfs_write()` on unfaultable buffers, `mmap()` reads beyond end-of-file, and timestamp updates when `fallocate()` grows a file. Operators on a supported kernel should treat 2.4.4 as a routine maintenance upgrade, but should audit any code that calls `zpool export` against the new EBUSY semantics before deploying.

Written by elseif from the cluster below · checked for specifics the sources never contained

THE CLUSTER

Same story, 1 feed.

ORDERED BY FIRST SEEN
Linuxiac OpenZFS 2.4.4 Adds Linux Kernel 7.2 Support, New MMP Recovery Tool Open ↗