# OpenZFS zfs-2.3.6 - Product: OpenZFS (https://whatsnew.fyi/product/openzfs) - Vendor: OpenZFS - Date: 2026-02-25 - Version: zfs-2.3.6 - Original notes: https://github.com/openzfs/zfs/releases/tag/zfs-2.3.6 - Permalink: https://whatsnew.fyi/product/openzfs/releases/zfs-2.3.6 - 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'. --- - **changed** — CI: Test & fix Linux ZFS built-in build - **changed** — chksum: run 256K benchmark on demand, preserve chksum_stat_data - **changed** — Linux 6.19 compat: META - **changed** — nvpair: chase FreeBSD xdrproc_t definition - **fixed** — Remove thread unsafe debug code causing FreeBSD double free panic - **changed** — FreeBSD: Remove references to DEBUG_VFS_LOCKS - **changed** — FreeBSD: Remove HAVE_INLINE_FLSL use - **changed** — Linux 6.19: replace i_state access with inode_state_read_once() - **changed** — Linux 6.18: generic_drop_inode() and generic_delete_inode() renamed - **added** — linux/super: add tunable to request immediate reclaim of unused dentries - **added** — linux/super: add tunable to request immediate reclaim of unused inodes - **changed** — config: restore ZFS_AC_KERNEL_DENTRY tests - **fixed** — Fix a declaration position of the nth_page - **fixed** — Fix build for Linux 6.18 with PowerPC/RISC-V kernels - **changed** — Linux 6.19: handle --werror with CONFIG_OBJTOOL_WERROR=y - **added** — zhack: add 'action idle' subcommand - **added** — zhack: add -G option to dump debug buffer - **changed** — mmp: claim sequence id before final import - **added** — mmp: add spa_load_name() for tryimport - **changed** — Fix HIGHMEM/kmap API violation in zfs_uiomove_bvec_impl() ###### Supported Platforms - **Linux**: compatible with 4.18 - 6.19 kernels - **FreeBSD**: compatible with releases starting from 13.3+, 14.0+, 15.0+ ###### Changes - CI: Test & fix Linux ZFS built-in build #18234 - chksum: run 256K benchmark on demand, preserve chksum_stat_data #17945 #17946 - Linux 6.19 compat: META #18197 - nvpair: chase FreeBSD xdrproc_t definition #18154 - remove thread unsafe debug code causing FreeBSD double free panic #18140 - FreeBSD: Remove references to DEBUG_VFS_LOCKS #18136 - FreeBSD: Remove HAVE_INLINE_FLSL use #18004 - Linux 6.19: replace i_state access with inode_state_read_once() #18053 - Linux 6.18: generic_drop_inode() and generic_delete_inode() renamed - linux/super: add tunable to request immediate reclaim of unused dentries - control its behaviour. By default it continues the traditional #17746 - linux/super: add tunable to request immediate reclaim of unused inodes #17746 - config: restore ZFS_AC_KERNEL_DENTRY tests #17621 - Fix a declaration position of the nth_page. #18034 - Fix build for Linux 6.18 with PowerPC/RISC-V kernels. (#18145) - Linux 6.19: handle --werror with CONFIG_OBJTOOL_WERROR=y #18152 - ZTS: update the relevant mmp test cases - zhack: add "action idle" subcommand - zhack: add -G option to dump debug buffer - mmp: claim sequence id before final import - mmp: add spa_load_name() for tryimport - mmp: move "Starting import" log message - mmp: further restrict mmp exported pool check - spa_activity_check: narrow scope of MMP vars #17551 - Enable zhack to work properly with 4k sector size disks #17576 - Add allocation profile export and zhack subcommand for import #17576 - 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) - ZTS: add mount_loopback to test zfs behind loop dev #17329 - CI: Test 2.4.x in qemu-test-repo-vm.sh, quick mode #18070 - CI: Add smatch static analysis workflow #17935 - ZIO: Set minimum number of free issue threads to 32 #17903 - Suppress some ashift warnings #17830 - Explicit set ashift for non-leaf vdevs #17826 - raidz_test: Restore rand_data protection #17977 - raidz_test: Fix ZIO ABDs initialization #17977 - raidz_test: Set io_offset reasonably #17977 - ZFS: Enable more logs for raidz_001_neg #17977 - CI: Use Ubuntu mirrors instead of azure (#18057) #18057 - CI: Change timeout values #18056 - CI: zfs-test-packages: Add in new repos #17956 - CI: Fix Ubuntu 22.01 rsend failures #18032 - CI: exclude signed-off-by/reviewed-by from 72 char limit #18030 - Fix HIGHMEM/kmap API violation in zfs_uiomove_bvec_impl() #15668 #18030 - Preserve LIFO ordering of kmap ops in abd_raidz_gen_iterate() #15668 #18030 - Fix interaction of abd_iter_map()/abd_iter_unmap() with HIGHMEM #15668 #18030 - Linux 6.18: META - config/kmap_atomic: initialise test data - zvol_id: make array length properly known at compile time - Linux: bump -std to gnu11 - sha256_generic: make internal functions a little more private - Linux 6.18: namespace type moved to ns_common - Linux 6.18: replace write_cache_pages() - Linux 6.18: block_device_operations->getgeo takes struct gendisk* - Linux 6.18: convert ida_simple_* calls - Linux 6.18: replace nth_page() - linux: use sys/stat.h instead of linux/stat.h #17675 - config: Fix LLVM-21 -Wuninitialized-const-pointer warning (#17997) #17682 #17684