# OpenZFS zfs-2.2.10 - Product: OpenZFS (https://whatsnew.fyi/product/openzfs) - Vendor: OpenZFS - Date: 2026-06-12 - Version: zfs-2.2.10 - Original notes: https://github.com/openzfs/zfs/releases/tag/zfs-2.2.10 - Permalink: https://whatsnew.fyi/product/openzfs/releases/zfs-2.2.10 - 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** — Rename several printf attributes declarations to __printf__ - **fixed** — Fix uninitialized variable warning in zil_parse() - **changed** — pam: use open fd instead of path - **changed** — Extend dataset zfs_ioc_set_prop() secpolicy - **fixed** — Fix uninitialized variable warning in vdev_prop_get() - **fixed** — Fix the integer type in zfs_ioc_userspace_many() - **security** — Add additional verification of size fields and strings - **removed** — Remove /etc/sudoers.d/zfs - **fixed** — sharenfs: Check for invalid characters - **security** — nvpair: Check for un-terminated strings in packed nvlist - **fixed** — draid: fix cksum errors after rebuild with degraded disks - **changed** — draid: allow seq resilver reads from degraded vdevs - **fixed** — draid: fix import failure after disks replacements - **fixed** — draid: fix data corruption after disk clear - **fixed** — Fix available space accounting for special/dedup - **fixed** — nvpair: chase FreeBSD xdrproc_t definition - **changed** — Linux 6.19: replace i_state access with inode_state_read_once() - **changed** — Fix a declaration position of the nth_page - **changed** — linux/atomic: fill out API for atomic pointer ops - **fixed** — Fix nfs_truncate_shares without /etc/exports.d ###### Supported Platforms - **Linux**: compatible with 4.18 - 6.17 kernels - **FreeBSD**: compatible with releases starting from 13.3+, 14.0+ ###### Changes - Rename several printf attributes declarations to \_\_printf\_\_ #18095 - Fix uninitialized variable warning in zil_parse() #18633 - pam: use open fd instead of path #18618 - Extend dataset zfs_ioc_set_prop() secpolicy #18617 - Fix uninitialized variable warning in vdev_prop_get() #18616 - Fix the integer type in zfs_ioc_userspace_many() #18615 - Add additional verification of size fields and strings (#18623) #18623 - Remove /etc/sudoers.d/zfs #18626 - sharenfs: Check for invalid characters #18613 - nvpair: Check for un-terminated strings in packed nvlist #18604 - CI: Add alternative URLs for CentOS stream #18628 - CI: Increase default RCU stall timeout on Linux #18624 - CI: Update CodeQL actions to v4 #18629 - CI: Re-enable CodeQL workflows on push #18627 - draid: fix cksum errors after rebuild with degraded disks #18414 - draid: allow seq resilver reads from degraded vdevs #18405 - draid: fix import failure after disks replacements #18380 - draid: fix data corruption after disk clear #18286 #18294 - test/draid: fix error return #17551 - CI: add concurrency support to zfs-arm #18608 - CI: apt-get update before purging host packages #18607 #18609 - CI: skip smatch, zloop, and zfs-arm for documentation-only changes #18601 - CI: Lustre 6.16 kernel compatibility fix (#18602) - CI: Update checkstyle checkout action to v6 #18600 - .github: update workflows README #18590 - CI: run full CI when a workflow YAML changes #18577 - CI: skip full CI runs on push events #18571 - CI: enable FreeBSD 15.0-RELEASE in matrix #18561 - CI: Build custom branch from zfs-qemu-packages #18569 - ZTS: zfs_unshare_006_pos.ksh enable usershares #18547 - CI: Fix qemu-guest-agent systemd enable #18547 - CI: Add Ubuntu 26.04 builder #18547 - CI: remove FreeBSD 13.5 (EOL April 30, 2026) #18553 - CI: Allow testing with a newer GCC on ARM builder #18540 - CI: Remove deprecated Fedora 42 #18545 - CI: Fix 99.99 META version #18526 #18531 - CI: FreeBSD 15.1 STABLE #18524 - CI: skip qemu matrix for documentation-only pull requests #18518 - CI: FreeBSD 15.1 PRERELEASE (#18490) - CI/GCC: Add Fedora 44, fix build errors and threadsappend #18478 - CI: curl fallback, print killed tests, FreeBSD URL #18460 - 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 - README: add FreeBSD 14.4-RELEASE alongside 15.0 #18304 - README: describe specific kernels/distros we target #18295 - Fix capitalization typo in README.md #17889 - CI: Disable ZIP file artifacts, update versions #18411 - Fix available space accounting for special/dedup #18222 #18367 - Linux 6.18: convert ida_simple_* calls - Linux 6.18: replace write_cache_pages() - Linux 6.19: replace i_state access with inode_state_read_once() #18053 - Fix a declaration position of the nth_page. #18034 - Linux 6.18: replace nth_page() - sha256_generic: make internal functions a little more private - CI: Fix Ubuntu 22.01 rsend failures #18032 - nvpair: chase FreeBSD xdrproc_t definition #18154 - Linux 6.18: block_device_operations->getgeo takes struct gendisk* - linux/atomic: fill out API for atomic pointer ops #17580 - Linux 6.18: namespace type moved to ns_common - CI: Free 35GB of unused files on the runner #18400 - ci: update FreeBSD CI images from 14.3 to 14.4 #18362 - [2.2.10-only] CI: Fix ARM builder path - CI: Add ARM builder #18343 - CI: Support repository variable override for ZTS OS selection #18342 - CI: Remove deprecated Fedora 41 #18261 - CI: Test build Lustre against ZFS #18161 - CI: Fix qemu-1-setup failure, remove debug stuff #18166 - CI: Add Alpine Linux 3.23 runner to the pipeline (#18087) - CI: Test 2.4.x in qemu-test-repo-vm.sh, quick mode #18070 - CI: Use Ubuntu mirrors instead of azure (# _[Truncated at 4000 characters — full notes: https://github.com/openzfs/zfs/releases/tag/zfs-2.2.10]_