Releases
zfs-2.2.4
Supported Platforms
Linux : compatible with 3.10 - 6.8 kernels
FreeBSD : compatible with releases starting from 12.2-RELEASE
Changes
Fix updating the zvol_htable when renaming a zvol #16127 #16128
Add prefetch property #15237 #15436
vdev probe to slow disk can stall mmp write checker #15839
Extend import_progress kstat with a notes field #15539
Add ashift validation when adding devices to a pool #15509
Fix arcstats for FreeBSD after zfetch support #16141
Add zfetch stats in arcstats #16094
Use ASSERT0P() to check that a pointer is NULL. #15225
GCC: Fixes for gcc 14 on Fedora 40 #16124 #16125
Python 3.12 deprecated python3-distutils #16126 #16129
zfs-kmod: fix empty rpm requires/conflicts #16121
ZTS: user_namespace_004.ksh avoid error in cleanup if unsupported #16114
Add newline to two zpool messages #16113
Do no use .cfi_negate_ra_state within the assembly on Arm64 #14965 #15784
Add the BTI elf note to the AArch64 SHA2 assembly #16086
AUTHORS: refresh with recent new contributors #16079
return NULL at end of send_progress_thread #16074
Fix locale-specific time #15878 #15879
Fix panics when truncating/deleting files #15983
vdev props comment and manpage should include zfsd and FreeBSD mentions #15968
Add slow disk diagnosis to ZED #15469
[2.2.4-only] Stub RAIDZ enums to prevent conflicts
zap_leaf: make l_hash[] variable length to silence UBSAN #15964
Give a better message from 'zpool get' with invalid pool name #15942
xdr: header cleanup #16047 #16051
Fix buffer underflow if sysfs file is empty #16028 #16035
ZTS: fix flakiness in cp_files_002_pos #16029
Fix option string, adding -e and fixing order #16008
freebsd: fix missing headers in distribution tarball #15963
Check for minimum partition size #15898
Add VERIFY0P() and ASSERT0P() macros. #15225
Clean up existing VERIFY*() macros. #15225
etc/init.d: decide which variant to use at build time. #15977
config/Substfiles.am: restrict to the dedicated list. #15980
man: move zfs_prepare_disk.8 to nodist_man_MANS #15979
Add support for zfs mount -R #16015
Linux 6.9 compat: blk_alloc_disk() now takes two args #16027 #16033
Linux 6.9 compat: bdev handles are now struct file #16027 #16033
vdev_disk: clean up spa/bdev mode conversion #15995
Linux 5.18+ compat: Detect filemap_range_has_page #16034
udev: correctly handle partition #16 and later #15904 #15970
zvols: prevent overflow of minor device numbers #16006
Linux 6.8 compat: META (#16099 )
bdev_discard_supported: understand discard_granularity=0
L2ARC: Relax locking during write #16040
Small fix to prefetch ranges aggregation #16072
Remove db_state DB_NOFILL checks from syncing context #16057
Speculative prefetch for reordered requests #16022
Fix read errors race after block cloning #16052
Improve dbuf_read() error reporting #16042
BRT: Check pool clone stats in more tests #16007
BRT: Fix tests to work on non-empty pools #16007
BRT: Fix holes cloning. #15994 #16007
BRT: Skip getting length in brt_entry_lookup() #15950
BRT: Make BRT block sizes configurable #15967
BRT: Relax brt_pending_apply() locking #15955
ZAP: Massively switch to _by_dnode() interfaces #15951
BRT: Skip duplicate BRT prefetches #15941
ZAP: Some cleanups/micro-optimizations #15976
BRT: Change brt_pending_tree sorting order #15954
Update resume token at object receive. #15927
Linux: Cleanup taskq threads spawn/exit #15873
Refactor dmu_prefetch(). #15076
ZIL: Update Linux tracing after #15635 #15730
ZIL: Improve next log block size prediction #15635
ZIO: Optimize zio_flush() #15515
ZIL: Detect single-threaded workloads #15381
zvol_os: fix compile with blk-mq on Linux 4.x #16069
zvol_os: fix build on Linux <3.13 #16062
zvol: use multiple taskq #15992
vdev_disk: fix alignment check when buffer has non-zero starting offset
vdev_disk: ensure trim errors are returned immediately
vdev_disk: don't touch vbio after its handed off to the kernel
Fix corruption caused by mmap flushing problems #15933 #16019
vdev_disk: default to classic submission for 2.2.x
abd_iter_page: don't use compound heads on Linux <4.5 #15533 #15588
vdev_disk: use bio_chain() to submit multiple BIOs #15533 #15588
vdev_disk: add module parameter to select BIO submission method #15533 #15588
vdev_disk: rewrite BIO filling machinery to avoid split pages #15533 #15588
vdev_disk: make read/write IO function configurable #15533 #15588
vdev_disk: reorganise vdev_disk_io_start #15533 #15588
vdev_disk: rename existing functions to vdev_classic_* #15533 #15588
abd: add page iterator #15533 #15588
linux 5.4 compat: page_size() #15533 #15588
Linux 6.8 compat: use splice_copy_file_range() for fallback #15930 #15931
You can’t perform that action at this time.