Supported Platforms
- Linux: compatible with 4.18 - 7.0 kernels
- FreeBSD: compatible with releases starting from 13.3+, 14.0+
Changes
- kmem: don't add __GFP_RECLAIMABLE for KM_VMEM allocations #18107
- kmem: don't add __GFP_COMP for KM_VMEM allocations #18053
- kmem: don't pass __GFP_HIGHMEM to __vmalloc #18053
- [2.3.7-only] GCC: Fix uu_ident.c strchr()
- libspl/mnttab: follow symlinks when resolving path via statx (#18469)
- Fix vdev_rebuild_range() tx commit #18276
- Fix redundant declaration of dsl_pool_t #18263
- CI: FreeBSD 15.1 PRERELEASE (#18490)
- CI/GCC: Add Fedora 44, fix build errors and threadsappend #18478
- Linux 7.1: access dentry d_alias directly #18471
- Remove the obsolete FreeBSD 14.2-RELEASE from CI #18013
- During CI, use
nprocinstead ofsysctl -n hw.ncpu#18012 - Initialize vr_last_txg for rebuild #18482
- Fix rare cksum errors after rebuild #18307 #18319 #18473
- ZTS: add targeted redundancy_draid_spare exception #18436
- build: use pax tar format for make dist
- CI: curl fallback, print killed tests, FreeBSD URL #18460
- Fix 'kernel BUG at mm/usercopy.c' #15918 #18408
- dmu_direct: avoid UAF in dmu_write_direct_done() #18440
- Prevent range tree corruption race by updating dnode_sync() #18235
- range_tree: use zfs_panic_recover() for partial-overlap remove #18255
- Fix read corruption after block clone after truncate #18412 #18421
- ZTS: add regression test for #17180 #18109
- Fix s_active leak in zfsvfs_hold() when z_unmounted is true #18309 #18310
- fix memleak in spa_errlog.c #18403
- [zfs-2.3.7] Whitelist some Makefile.am files from SPDX
- spdxcheck: enforce SPDX license tags on build system files #18077
- build: add SPDX license tags to build system files #18077
- CI: Add more debugging to qemu-1-setup.sh #18441
- CI: Do not set scheduler in qemu-1-setup.sh #18437
- CI: tolerate missing artifacts #18438
- Linux 7.0 compat: META #18435
- ZTS: resilver_restart_001 improvements #18434
- deb.am: propagate build errors in native-deb targets #18206 #18424
- draid: fix cksum errors after rebuild with degraded disks #18414
- RAIDZ: Remove some excessive logging #18059
- CI: set /etc/hostid in zloop runner #18413
- draid: allow seq resilver reads from degraded vdevs #18405
- Linux: Refactor zpl_fadvise() #18395
- linux/vfsops: remove zfs_mnt_t, pass directly #18377
- linux/super: work around kernels that enforce "forbidden" mount options #18377
- linux/super: implement new mount params parser #18377
- linux/super: match vfs_t lifetime to fs_context #18377
- linux/super: remove zpl_parse_monolithic #18377
- linux/vfsops: remove old options parser #18377
- linux/vfsops: add vfs_t allocator, make public #18377
- draid: fix import failure after disks replacements #18380
- Linux 7.0: ensure LSMs get to process mount options #18376
- dmu_tx: break tx assign/wait when pool suspends #17355
- dmu_tx: make DMU_TX_* flags an enum #17355
- txg_wait_synced_flags: add TXG_WAIT_SUSPEND flag to not wait if pool suspended #17355
- Linux 7.0: autoconf: Remove copy-from-user-inatomic API checks (#18348) (#18354)
- linux/super: flatten zpl_fill_super into zpl_get_tree #18339
- linux/super: flatten zpl_mount_impl into zpl_get_tree #18339
- linux/super: flatten mount/remount into get_tree/reconfigure #18339
- linux/super: remove support for old mount API #18339
- config: refuse to build without fs_context #18339
- Linux 7.0: also set setlease handler on directories (#18331)
- ZTS: Add back redundancy_draid_spare3 exception #18320
- ZTS: redundancy_draid_spare{1,3} exceptions #18308
- config: fix STATX_MNT_ID detection #18312
- draid: fix data corruption after disk clear #18286 #18294
- Fix deadlock on dmu_tx_assign() from vdev_rebuild() #18210 #18258
- dmu_tx_assign: make all VERIFY0 calls use DMU_TX_SUSPEND #17355
- README: describe specific kernels/distros we target #18295
- config: remove minimum kernel version check #18295
- libzfs: use mount_setattr for selective remount including legacy mounts #18257
- FreeBSD: Improve dmesg kernel message prefix #18290
- Fix check for .cfi_negate_ra_state on aarch64 #18262
- ZTS: Adjust mmp_on_uberblocks threshold #18280
- ZTS: Add additional exceptions #18274
- zpl_super: prefer "new" mount API when available #18260
- Linux 7.0: add shims for the fs_context-based mount API #18216
- Linux 7.0: posix_acl_to_xattr() now allocates memory #18216
- Linux 7.0: blk_queue_nonrot() renamed to blk_queue_rot() #18216
- build: get objtool from $kernelbuild #18248 #18249
- Linux 7.0: explicitly set setlease handler to kernel implementation #18215
- Linux: work around use of GPL-only symbol
kasan_flag_enabled#18009 #18040 - test/draid: fix error return #17551
- CI: Disable ZIP file artifacts, update versions #18411
- Fix available space accounting for special/dedup (#18222) #18190 #18222
- CI: Free 35GB of unused files on the runner #18400
- ci: update FreeBSD CI images from 14.3 to 14.4 #18362
- CI: Add ARM builder #18343
- CI: Support repository variable override for ZTS OS selection #18342
- CI: Remove deprecated Fedora 41 #18261