Supported Platforms
- Linux: compatible with 3.10 - 6.6 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
Note: We recommend that anyone running zfs-2.2.0 to please update to this release. Gentoo users have identified a block cloning bug (#15526) that can result in data corruption in zfs-2.2.0. To workaround this, zfs-2.2.1 disables block cloning by default (see #15529 and 479dca5). Users running the 2.1.x branch or older are unaffected, as block cloning is a 2.2.x-only feature.
- ZTS: Fix 'could not unmount datasets' on Alma 9 (#15542)
- zfs-2.2.1: Disable block cloning by default (479dca5)
- Add a tunable to disable BRT support. #15529
- Packaging: Auto-generate changelog during configure (#15528)
- Linux 6.6 compat: META #15520
- Workaround UBSAN errors for variable arrays #15510
- ZTS: Test for all known zpool feature sets #15505
- Update zpool-features.7 for grub2 compatibility list updates #15505
- Workaround to allow openzfs-zfs-dkms install on Ubuntu #15503
- Linux: reject read/write mapping to immutable file only on VM_SHARED #15344
- Fix accounting error for pending sync IO ops in zpool iostat #15478
- Linux 6.6 compat: fix implicit conversion error with debug build #15489
- Remove obsolete_counts from grub2 compatibility list #15499
- Fix dkms installation of deb packages created with Alien. #15415
- Add all read-only compatible zpool features to grub2 compatibility #15459
- Unify arc_prune_async() code #15456
- Tune zio buffer caches and their alignments #15452
- DMU: Do not pre-read holes during write #15371
- Linux 6.6 compat: fsync_bdev() has been removed in favor of sync_blockdev() #15263
- Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 #15263
- Linux 6.6 compat: use inode_get/set_ctime*(...) #15263 #15257
- Read prefetched buffers from L2ARC #15451
- Add mutex_enter_interruptible() for interruptible sleeping IOCTLs #15360
- Revert "zvol: Temporally disable blk-mq" #15439
- zvol: Remove broken blk-mq optimization #15351
- "ARC prefetch metadata accesses:" appears twice in the output. #15427
- Trust ARC_BUF_SHARED() more #15397
- Remove lock from dsl_pool_need_dirty_delay() #15390
- run-zts test procfs/pool_state failed with uncorrectable I/O failure #15364
- Properly pad struct tx_cpu to cache line #15402
- Fix typo in tests/zfs-tests/tests/functional/cli_user/misc/misc.cfg #15417
- FreeBSD: taskq: Remove unused declaration #15416
- Set spa_ccw_fail_time=0 when expanding a vdev. #15405
- Fix ZED auto-replace for VDEVs using by-id paths #15363
- Add zfs_prepare_disk script for disk firmware install #15243
- Large sync writes perform worse with slog #14378
- FreeBSD: Improve taskq wrapper #15356
- Fix block cloning between unencrypted and encrypted datasets #15464 #15465