zfs-2.2.2
Supported Platforms
- Linux: compatible with 3.10 - 6.6 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
Note: This release contains an important fix for a data corruption bug. Full details are in the issue (#15526) and bug fix (#15571). There's also a developer's bug summary that gives a good overview. We recommend everyone either upgrade to 2.2.2 or 2.1.14 to get the fix. The bug can cause data corruption due to an incorrect dirty dnode check. This bug is very hard to hit, and really only came to light due to changes in cp
in coreutils 9.x. It's extremely unlikely that the bug was ever hit on EL7 or EL8, when running cp
since they all use coreutils 8.x which performs file copies differently.
Updated (12/1/23):
EL9 was previously vulnerable since it uses coreutils 8.32 with the SEEK_DATA/SEEK_HOLE patches backported from coreutils 9.x.
- FreeBSD: Fix ZFS so that snapshots under .zfs/snapshot are NFS visible #15563
- ZIL: Call brt_pending_add() replaying TX_CLONE_RANGE #15603
- zdb: fix printf() length for uint64_t devid #15606
- Linux 6.6 compat: fix configure error with clang (#15558)
- zfs-dkms: fix shell-init error message #15576
- FreeBSD: Fix the build on FreeBSD 12 #15551
- dmu_buf_will_clone: fix race in transition back to NOFILL #15566 #15526
- zdb: Fix zdb '-O|-r' options with -e/exported zpool #15532
- zdb: show BRT statistics and dump its contents #15541
- brt: lift internal definitions into _impl header #15541
- ZTS: Fix zfs_load-key failures on F39 #15534 #15550
- ZIL: Do not encrypt block pointers in lr_clone_range_t #15543 #15513
- dnode_is_dirty: check dnode and its data for dirtiness #15571 #15526
- Revert "Tune zio buffer caches and their alignments"