Skip to content

zfs-2.2.4

Compare
Choose a tag to compare
@tonyhutter tonyhutter released this 02 May 22:55
· 984 commits to master since this release
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