# OpenZFS zfs-2.4.2 - Product: OpenZFS (https://whatsnew.fyi/product/openzfs) - Vendor: OpenZFS - Date: 2026-05-12 - Version: zfs-2.4.2 - Original notes: https://github.com/openzfs/zfs/releases/tag/zfs-2.4.2 - Permalink: https://whatsnew.fyi/product/openzfs/releases/zfs-2.4.2 - Labels: Platforms: Linux What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Fix incorrect variable rename in initramfs - **fixed** — Fix long POSIX_FADV_DONTNEED for single block files - **added** — Add support for POSIX_FADV_DONTNEED - **changed** — Cleanup allocation class selection - **fixed** — Fix uu_ident.c strchr() for GCC - **changed** — libspl/mnttab: follow symlinks when resolving path via statx - **fixed** — Fix vdev_rebuild_range() tx commit - **fixed** — Fix redundant declaration of dsl_pool_t - **changed** — Linux 7.1: access dentry d_alias directly - **fixed** — Initialize vr_last_txg for rebuild - **fixed** — Fix rare cksum errors after rebuild - **changed** — build: use pax tar format for make dist - **fixed** — Fix kernel BUG at mm/usercopy.c - **fixed** — dmu_direct: avoid UAF in dmu_write_direct_done() - **fixed** — Prevent range tree corruption race by updating dnode_sync() - **fixed** — range_tree: use zfs_panic_recover() for partial-overlap remove - **fixed** — Fix read corruption after block clone after truncate - **fixed** — Fix snapshot automount deadlock during concurrent zfs recv - **fixed** — Fix options memory leak in zfsctl_snapshot_mount - **fixed** — Fix s_active leak in zfsvfs_hold() when z_unmounted is true ###### Supported Platforms - **Linux**: compatible with 4.18 - 7.0 kernels - **FreeBSD**: compatible with releases starting from 13.3+, 14.0+ ###### Changes - initramfs: fix incorrect variable rename #18442 - Fix long POSIX_FADV_DONTNEED for single block files #18399 #18489 - Add support for POSIX_FADV_DONTNEED #18399 - Cleanup allocation class selection #18208 - [2.4.2-only] GCC: Fix uu_ident.c strchr() - libspl/mnttab: follow symlinks when resolving path via statx (#18469) - Fix vdev_rebuild_range() tx commit #18276 - Fix redundant declaration of dsl_pool_t #18263 - CI: FreeBSD 15.1 PRERELEASE (#18490) - CI/GCC: Add Fedora 44, fix build errors and threadsappend #18478 - Linux 7.1: access dentry d_alias directly #18471 - Initialize vr_last_txg for rebuild #18482 - Fix rare cksum errors after rebuild #18307 #18319 #18473 - ZTS: add targeted redundancy_draid_spare exception #18436 - build: use pax tar format for make dist - CI: curl fallback, print killed tests, FreeBSD URL #18460 - Fix 'kernel BUG at mm/usercopy.c' #15918 #18408 - dmu_direct: avoid UAF in dmu_write_direct_done() #18440 - Prevent range tree corruption race by updating dnode_sync() #18235 - range_tree: use zfs_panic_recover() for partial-overlap remove #18255 - [zfs-2.4.2] Whitelist some Makefile.am files from SPDX - Fix read corruption after block clone after truncate #18412 #18421 - Fix snapshot automount deadlock during concurrent zfs recv #18415 - Fix options memory leak in zfsctl_snapshot_mount #18415 - Fix s_active leak in zfsvfs_hold() when z_unmounted is true #18309 #18310 - fix memleak in spa_errlog.c #18403 - CI: Add more debugging to qemu-1-setup.sh #18441 - CI: tolerate missing artifacts #18438 - CI: Do not set scheduler in qemu-1-setup.sh #18437 - Linux 7.0 compat: META #18435 - deb.am: propagate build errors in native-deb targets #18206 #18424 - draid: fix cksum errors after rebuild with degraded disks #18414 - CI: Disable ZIP file artifacts, update versions #18411 - CI: set /etc/hostid in zloop runner #18413 - draid: allow seq resilver reads from degraded vdevs #18405 - Linux: Refactor zpl_fadvise() #18395 - CI: Free 35GB of unused files on the runner #18400 - linux/vfsops: remove zfs_mnt_t, pass directly #18377 - linux/super: work around kernels that enforce "forbidden" mount options #18377 - linux/super: implement new mount params parser #18377 - linux/super: match vfs_t lifetime to fs_context #18377 - linux/super: remove zpl_parse_monolithic #18377 - linux/vfsops: remove old options parser #18377 - linux/vfsops: add vfs_t allocator, make public #18377 - draid: fix import failure after disks replacements #18380 - Linux 7.0: ensure LSMs get to process mount options #18376 - ci: update FreeBSD CI images from 14.3 to 14.4 #18362 - Linux 7.0: autoconf: Remove copy-from-user-inatomic API checks (#18348) (#18354) - CI: Add ARM builder #18343 - CI: Support repository variable override for ZTS OS selection #18342 - linux/super: flatten zpl_fill_super into zpl_get_tree #18339 - linux/super: flatten zpl_mount_impl into zpl_get_tree #18339 - linux/super: flatten mount/remount into get_tree/reconfigure #18339 - linux/super: remove support for old mount API #18339 - config: refuse to build without fs_context #18339 - Linux 7.0: also set setlease handler on directories (#18331) - ZTS: Add back redundancy_draid_spare3 exception #18320 - ZTS: redundancy_draid_spare{1,3} exceptions #18308 - config: fix STATX_MNT_ID detection #18312 - draid: fix data corruption after disk clear #18286 #18294 - Fix deadlock on dmu_tx_assign() from vdev_rebuild() #18210 #18258 - README: describe specific kernels/distros we target #18295 - config: remove minimum kernel version check #18295 - libzfs: use mount_setattr for selective remount including legacy mounts #18257 - FreeBSD: Improve dmesg kernel message prefix #18290 - Fix check for .cfi_negate_ra_state on aarch64 #18262 - zpl_super: prefer "new" mount API _[Truncated at 4000 characters — full notes: https://github.com/openzfs/zfs/releases/tag/zfs-2.4.2]_