Skip to content

Releases: openzfs/zfs

zfs-2.4.2

12 May 22:20
zfs-2.4.2

Choose a tag to compare

Supported Platforms

  • Linux: compatible with 4.18 - 7.0 kernels
  • FreeBSD: compatible with releases starting from 13.3+, 14.0+

Changes

  • initramfs: fix incorrect variable rename #18442
  • Fix long POSIX_FADV_DONTNEED for single block files #18399 #18489
  • Add support for POSIX_FADV_DONTNEED #18399
  • Cleanup allocation class selection #18208
  • [2.4.2-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
  • 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
  • [zfs-2.4.2] Whitelist some Makefile.am files from SPDX
  • Fix read corruption after block clone after truncate #18412 #18421
  • Fix snapshot automount deadlock during concurrent zfs recv #18415
  • Fix options memory leak in zfsctl_snapshot_mount #18415
  • Fix s_active leak in zfsvfs_hold() when z_unmounted is true #18309 #18310
  • fix memleak in spa_errlog.c #18403
  • CI: Add more debugging to qemu-1-setup.sh #18441
  • CI: tolerate missing artifacts #18438
  • CI: Do not set scheduler in qemu-1-setup.sh #18437
  • Linux 7.0 compat: META #18435
  • deb.am: propagate build errors in native-deb targets #18206 #18424
  • draid: fix cksum errors after rebuild with degraded disks #18414
  • CI: Disable ZIP file artifacts, update versions #18411
  • CI: set /etc/hostid in zloop runner #18413
  • draid: allow seq resilver reads from degraded vdevs #18405
  • Linux: Refactor zpl_fadvise() #18395
  • CI: Free 35GB of unused files on the runner #18400
  • 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
  • ci: update FreeBSD CI images from 14.3 to 14.4 #18362
  • Linux 7.0: autoconf: Remove copy-from-user-inatomic API checks (#18348) (#18354)
  • CI: Add ARM builder #18343
  • CI: Support repository variable override for ZTS OS selection #18342
  • 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
  • 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
  • zpl_super: prefer "new" mount API when available #18260
  • CI: Remove deprecated Fedora 41 #18261
  • 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
  • spdxcheck: enforce SPDX license tags on build system files #18077
  • build: add SPDX license tags to build system files #18077

zfs-2.3.7

12 May 22:19
zfs-2.3.7

Choose a tag to compare

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 nproc instead of sysctl -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

zfs-2.4.1

25 Feb 01:52
zfs-2.4.1

Choose a tag to compare

Supported Platforms

  • Linux: compatible with 4.18 - 6.19 kernels
  • FreeBSD: compatible with releases starting from 13.3+, 14.0+, 15.0+

Changes

  • Fix available space accounting for special/dedup (#18222) #18190 #18222
  • CI: Test & fix Linux ZFS built-in build #18234
  • Linux 6.19 compat: in-tree build: fix duplicate GCM assembly functions #18204 #18224
  • zfs_vnops_os.c: Move a vput() to after zfs_setattr_dir()
  • Fix activating large_microzap on receive #18143 #18144
  • Improve caching for dbuf prefetches #18160
  • Flush RRD only when TXGs contain data #18082 #18138
  • Fix send:raw permission for send -w -I #18198 #18193
  • ZTS: Fix zed_synchronous_zedlet #18192 #18196
  • Linux 6.19 compat: META #18197
  • CI: Test build Lustre against ZFS #18161
  • Include missing newline in 'man' error #18183
  • ZTS: update the relevant mmp test cases
  • zhack: add "action idle" subcommand
  • zhack: add -G option to dump debug buffer
  • mmp: claim sequence id before final import
  • mmp: add spa_load_name() for tryimport
  • mmp: move "Starting import" log message
  • mmp: further restrict mmp exported pool check
  • Fix build for Linux 6.18 with PowerPC/RISC-V kernels. (#18145)
  • Linux 6.19: handle --werror with CONFIG_OBJTOOL_WERROR=y #18152
  • CI: Add Alpine Linux 3.23 runner to the pipeline (#18087)
  • cmd/ztest: avoid PATH_MAX stack allocation in ztest_get_zdb_bin() (#18085)
  • zed.d, contrib: fix shellcheck errors in scripts
  • zfs_main: cosmetic: add missing flag to the comment for create
  • CI: Test 2.4.x in qemu-test-repo-vm.sh, quick mode #18070
  • Change shellcheck and checkbashism triggers. #18000
  • Replace bashisms in ZFS shell function stub. #18000
  • Make lines stay within 80 char limit. #18000
  • Add some comments to clarify the mounting of filesystems. #18000
  • Standardise if/then/else and for/do/done lines. #18000
  • Add missing initrd config variables. #18000
  • Remove unnecessary sourcing of variables. #18000
  • Fix issue with finding degraded pool(s). #18000
  • Prefix all variables that are local with underscore. #18000
  • Shell script good practices changes. #18000
  • Fix potential global variable overwrite. #18000
  • zpool: fix conflict with -v and -o options
  • CI: Fix qemu-1-setup failure, remove debug stuff #18166
  • CI: Use Ubuntu mirrors instead of azure (#18057) #18057
  • nvpair: chase FreeBSD xdrproc_t definition #18154
  • Make sure we can still write data to txg #18139
  • Lock db_mtx around arc_release() in couple places #18146
  • remove thread unsafe debug code causing FreeBSD double free panic #18140
  • FreeBSD: Remove references to DEBUG_VFS_LOCKS #18136
  • FreeBSD: unbreak compilation on i386 #18096
  • Fix --enable-invariants on FreeBSD #18131
  • Fix history logging for zpool create -t #18118 #18102
  • DDT: Add locking for table ZAP destruction #18115
  • Add fh_to_parent export definition #18099
  • spl: remove a _KERNEL check #18117
  • spl: unexport kstat_proc_entry functions #18117
  • spl: lift 64-bit math compat out to separate file #18117
  • spl: remove old atomic lock #18117
  • icp: emit .note.GNU-stack section for all ELF targets #18119
  • When receiving a stream with the large block flag, activate feature #18105
  • Fix zfs_open() to skip zil_async_to_sync() for the snapshot #18091
  • ZTS: add regression test for #17180 #18109
  • Rename several printf attributes declarations to printf #18095
  • Add handling for STATX_CHANGE_COOKIE #18097
  • kmem: don't add __GFP_RECLAIMABLE for KM_VMEM allocations #18107
  • cmd/zfs: clone: accept -u to not mount newly created datasets #18080
  • kmem: don't add __GFP_COMP for KM_VMEM allocations #18053
  • kmem: don't pass __GFP_HIGHMEM to __vmalloc #18053
  • Linux 6.19: replace i_state access with inode_state_read_once() #18053
  • Use reduced precision for scan times #18061
  • Reduce minimal scrub/resilver times #18060
  • zdb: Add -O option for -r to specify object-id #16307
  • Fix rangelock test for growing block size #18064
  • Bypass snprintf() in quota checks if no quotas set #18063
  • RAIDZ: Remove some excessive logging #18059
  • Remove the obsolete FreeBSD 14.2-RELEASE from CI #18013
  • DDT: Fix compressed entry buffer size #18055
  • DDT: Add/use zap_lookup_length_uint64_by_dnode() #18048
  • DDT: Switch to using ZAP _by_dnode() interfaces #18047
  • DDT: Move logs searches out of the lock #18044
  • Improve async destroy processing timing #18043
  • Defer async destroys on pool import #18033
  • ZTS: Fix zvol_misc_fua SLOG writes check #18033
  • ZIO: ZIO_STAGE_DDT_WRITE is a blocking stage #17981
  • ARC: Increase parallel eviction batching #17970
  • ARC: Pre-convert zfs_arc_min_prefetch_ms #17965
  • Reduce dataset buffers re-dirtying #18028
  • CI: Increase setup timeout to 20min, add timestamps #17714

zfs-2.3.6

25 Feb 01:52
zfs-2.3.6

Choose a tag to compare

Supported Platforms

  • Linux: compatible with 4.18 - 6.19 kernels
  • FreeBSD: compatible with releases starting from 13.3+, 14.0+, 15.0+

Changes

  • CI: Test & fix Linux ZFS built-in build #18234
  • chksum: run 256K benchmark on demand, preserve chksum_stat_data #17945 #17946
  • Linux 6.19 compat: META #18197
  • nvpair: chase FreeBSD xdrproc_t definition #18154
  • remove thread unsafe debug code causing FreeBSD double free panic #18140
  • FreeBSD: Remove references to DEBUG_VFS_LOCKS #18136
  • FreeBSD: Remove HAVE_INLINE_FLSL use #18004
  • Linux 6.19: replace i_state access with inode_state_read_once() #18053
  • Linux 6.18: generic_drop_inode() and generic_delete_inode() renamed
  • linux/super: add tunable to request immediate reclaim of unused dentries
  • control its behaviour. By default it continues the traditional #17746
  • linux/super: add tunable to request immediate reclaim of unused inodes #17746
  • config: restore ZFS_AC_KERNEL_DENTRY tests #17621
  • Fix a declaration position of the nth_page. #18034
  • Fix build for Linux 6.18 with PowerPC/RISC-V kernels. (#18145)
  • Linux 6.19: handle --werror with CONFIG_OBJTOOL_WERROR=y #18152
  • ZTS: update the relevant mmp test cases
  • zhack: add "action idle" subcommand
  • zhack: add -G option to dump debug buffer
  • mmp: claim sequence id before final import
  • mmp: add spa_load_name() for tryimport
  • mmp: move "Starting import" log message
  • mmp: further restrict mmp exported pool check
  • spa_activity_check: narrow scope of MMP vars #17551
  • Enable zhack to work properly with 4k sector size disks #17576
  • Add allocation profile export and zhack subcommand for import #17576
  • CI: Test build Lustre against ZFS #18161
  • CI: Fix qemu-1-setup failure, remove debug stuff #18166
  • CI: Add Alpine Linux 3.23 runner to the pipeline (#18087)
  • ZTS: add mount_loopback to test zfs behind loop dev #17329
  • CI: Test 2.4.x in qemu-test-repo-vm.sh, quick mode #18070
  • CI: Add smatch static analysis workflow #17935
  • ZIO: Set minimum number of free issue threads to 32 #17903
  • Suppress some ashift warnings #17830
  • Explicit set ashift for non-leaf vdevs #17826
  • raidz_test: Restore rand_data protection #17977
  • raidz_test: Fix ZIO ABDs initialization #17977
  • raidz_test: Set io_offset reasonably #17977
  • ZFS: Enable more logs for raidz_001_neg #17977
  • CI: Use Ubuntu mirrors instead of azure (#18057) #18057
  • CI: Change timeout values #18056
  • CI: zfs-test-packages: Add in new repos #17956
  • CI: Fix Ubuntu 22.01 rsend failures #18032
  • CI: exclude signed-off-by/reviewed-by from 72 char limit #18030
  • Fix HIGHMEM/kmap API violation in zfs_uiomove_bvec_impl() #15668 #18030
  • Preserve LIFO ordering of kmap ops in abd_raidz_gen_iterate() #15668 #18030
  • Fix interaction of abd_iter_map()/abd_iter_unmap() with HIGHMEM #15668 #18030
  • Linux 6.18: META
  • config/kmap_atomic: initialise test data
  • zvol_id: make array length properly known at compile time
  • Linux: bump -std to gnu11
  • sha256_generic: make internal functions a little more private
  • Linux 6.18: namespace type moved to ns_common
  • Linux 6.18: replace write_cache_pages()
  • Linux 6.18: block_device_operations->getgeo takes struct gendisk*
  • Linux 6.18: convert ida_simple_* calls
  • Linux 6.18: replace nth_page()
  • linux: use sys/stat.h instead of linux/stat.h #17675
  • config: Fix LLVM-21 -Wuninitialized-const-pointer warning (#17997) #17682 #17684

zfs-2.4.0

18 Dec 23:05
zfs-2.4.0

Choose a tag to compare

We are excited to announce OpenZFS 2.4.0!

Supported Platforms

  • Linux: compatible with 4.18 - 6.18 kernels
  • FreeBSD: compatible with versions 14, 15 & 16

Key Features in OpenZFS 2.4.0:

  • Quotas: Allow setting default user/group/project quotas (#17130)
  • Uncached IO: Direct IO fallback to a light-weight uncached IO when unaligned (#17218, #17407, #17872, #17875)
  • Unified allocation throttling: A new algorithm designed to reduce vdev fragmentation (#17020)
  • Better encryption performance using AVX2 for AES-GCM (#17058)
  • Allow ZIL on special vdevs when available (#17505)
  • Extend special_small_blocks to land ZVOL writes on special vdevs (#14876), and allow non-power of two values (#17497)
  • Add zfs rewrite -P which preserves logical birth time when possible to minimize incremental stream size (#17565)
  • Add -a|--all option which scrubs, trims, or initializes all imported pools (#17524)
  • Add zpool scrub -S -E to scrub specific time ranges (#16853)
  • Add zpool prefetch -t brt to prefetch BRT (block cloning table) (#17890)
  • Add send:encrypted permission (#17543)
  • Rename arc_summary and arcstat to zarcsummary and zarcstat (#17712)
  • Temporarily "sit out" child vdevs that are being abnormally slow (#17227)
  • Relax topology restrictions on special/dedup vdevs (#17496)
  • Improvements to ashift handling (#17826, #17830)
  • Multiple gang blocks improvements and fixes (#17111, #17004, #17587, #17484, #17123, #17073, #17824)
  • New dedup optimizations and fixes (#17038, #17123, #17435, #17391, #17960, #17961, #17980, #17983)
  • New block cloning optimizations and fixes (#17572, #17875, #17903, #17915, #17916, #17921)

zfs-2.4.0 changelog: git cherry -v remotes/origin/zfs-2.3-release zfs-2.4.0 | sed '/^-/d; s/+ //g'

Additional Information:

  • Documentation - OpenZFS documentation for Linux and FreeBSD.

    Thank you to all 121 contributors who participated in this release cycle
    $ git shortlog -s zfs-2.3.0..zfs-2.4.0
       1	Achill Gilgenast
       3	Adi-Goll
       4	Ahelenia Ziemiańska
       1	Akash B
      13	Alan Somers
       1	Alek Pinchuk
       1	Aleksandr Liber
       1	Alex
     119	Alexander Motin
       3	Alexander Ziaee
       1	Alexx Saver
       2	Allan Jude
      26	Ameer Hamza
       1	Andres
       3	Andrew Walker
       1	Andriy Tkachuk
       1	Artem
       1	Artem-OSSRevival
       9	Attila Fülöp
       7	Brian Atkinson
      51	Brian Behlendorf
       2	Cameron Harr
       1	Carl George
       8	Chunwei Chen
       1	Coleman Kane
       1	Colin Percival
       1	Cong Zhang
       2	Dag-Erling Smørgrav
       2	Dimitry Andric
       1	Diwakar Kristappagari
       3	Don Brady
       1	Dr. Christian Kohlschütter
       1	Eric A. Borisch
       1	Fabian-Gruenbichler
       9	Fedor Uporov
       1	Felix Schmidt
       1	Friedrich Weber
       3	George Amanakis
       1	Germano Massullo
       5	Gionatan Danti
       5	Igor Ostapenko
       7	Ivan Shapovalov
       2	Ivan Volosyuk
       1	JKDingwall
       1	JT Pennington
       1	James Reilly
       1	Jaydeep Kshirsagar
       1	Jean-Sébastien Pédron
       1	Jerzy Kołosowski
       1	Jitendra Patidar
       2	Jo Zzsi
       1	Joel Low
       1	Joseph Anthony Pasquale Holsten
       2	José Luis Salvador Rufo
       1	Konstantin Belousov
       1	Kyle Evans
       1	Maksym Shkolnyi
       6	Mariusz Zaborski
      10	Mark Johnston
       5	Martin Matuška
       2	Martin Rüegg
       1	Mateusz Guzik
       1	Mateusz Piotrowski
       1	Matthew Heller
       1	Meriel Luna Mittelbach
       2	Olivier Certner
       1	Patrick Fasano
       1	Patrick Xia
      33	Paul Dagnelie
       5	Pavel Snajdr
       1	Peng Liu
       1	Phil Sutter
       1	Piotr Kubaj
       1	Piotr P. Stefaniak
       1	Quartz
       1	Quentin Thébault
       1	René Wirnata
       1	Rich Ercolani
       2	Richard Kojedzinszky
       4	Richard Yao
       5	Rick Macklem
     229	Rob Norris
       5	Robert Evans
       1	Roberto Ricci
       1	Ryan Libby
       2	SHENGYI HONG
       1	Sam James
       1	Sebastian Pauka
       1	Serapheim Dimitropoulos
       1	Shawn Bayern
      13	Shengqi Chen
       5	Shreshth Srivastava
       1	Sietse
       7	Simon Howard
       1	Steve Mokris
       1	Syed Shahrukh Hussain
       1	Tim Smith
      20	Tino Reichardt
       1	Todd Seidelmann
       1	Todd Zullinger
       1	Tomohiro Kusumi
      36	Tony Hutter
       9	Toomas Soome
       7	Umer Saleem
       1	Vandana Rungta
       1	Warner Losh
       1	Youzhong Yang
       3	bspengler-oss
       2	buzzingwires
       1	classabbyamp
       1	hoshinomori
       1	jamisiveshkumar
       1	khoang98
       1	kotauskas
       1	mnrx
       1	nav1s
       1	ofthesun9
       1	poscat
       1	tleydxdy
       1	trick2011
       2	tstabrawa
    
  • Module option changes - See the module parameters documentation for the complete list of the options and what they control.

    New module options
    Removed module options
    Modified module options
  • Feature flags changes - See the feature flags documentation for the complete list of the options and what they control.

    New feature flags
Read more

zfs-2.4.0-rc5

11 Dec 01:17
zfs-2.4.0-rc5

Choose a tag to compare

zfs-2.4.0-rc5 Pre-release
Pre-release

We are excited to announce the fifth release candidate (rc5) of OpenZFS 2.4.0!

Supported Platforms

  • Linux: compatible with 4.18 - 6.18 kernels
  • FreeBSD: compatible with releases starting from 13.3+, 14.0+

Key Features in OpenZFS 2.4.0:

  • Quotas: Allow setting default user/group/project quotas (#17130)
  • Uncached IO: Direct IO fallback to a light-weight uncached IO when unaligned (#17218)
  • Unified allocation throttling: A new algorithm designed to reduce vdev fragmentation (#17020)
  • Better encryption performance using AVX2 for AES-GCM (#17058)
  • Allow ZIL on special vdevs when available (#17505)
  • Extend special_small_blocks to land ZVOL writes on special vdevs (#14876), and allow non-power of two values (#17497)
  • Add zfs rewrite -P which preserves logical birth time when possible to minimize incremental stream size (#17565)
  • Add -a|--all option which scrubs, trims, or initializes all imported pools (#17524)
  • Add zpool scrub -S -E to scrub specific time ranges (#16853)
  • Release topology restrictions on special/dedup vdevs (#17496)
  • Multiple gang blocks improvements and fixes (#17111, #17004, #17587, #17484, #17123, #17073)
  • New dedup optimizations and fixes (#17038, #17123, #17435, #17391)

How to Participate:

We encourage users and developers to test this release candidate and provide feedback. Your input is invaluable in ensuring the final release meets our community's needs. Please report any issues you encounter in our GitHub repository.

zfs-2.4.0-rc5 changelog: git cherry -v remotes/origin/zfs-2.3-release zfs-2.4.0-rc5 | sed '/^-/d; s/+ //g'

zfs-2.3.5

18 Nov 20:21
zfs-2.3.5

Choose a tag to compare

Supported Platforms

  • Linux: compatible with 4.18 - 6.17 kernels
  • FreeBSD: compatible with releases starting from 13.3+, 14.0+

Changes

  • FreeBSD: Satisfy ASSERT_VOP_IN_SEQC() #17722
  • CI: Update FreeBSD versions and ci-type handling #17896
  • BRT: Fix ranges to blocks conversion math #17886 #17915
  • zstd: disable intrinsics #17904 #17852
  • Linux 6.17 compat: Fix broken projectquota on 6.17 #17884 #17869
  • Synchronize the update of feature refcount #17184 #17632
  • zdb: Fix asize overflow in verify_livelist_allocs() #17764
  • Fix two infinite loops if dmu_prefetch_max set to zero #17692 #17729
  • dnode_next_offset: backtrack if lower level does not match #16025 #11196
  • zvol: verify IO type is supported #17803
  • zvol: Fix blk-mq sync #17761 #17765
  • Linux 6.17 compat: META #17789
  • Add interface to interface spa_get_worst_case_min_alloc() function #17758
  • contrib/initramfs/scripts/zfs: shellcheck fixup #17626
  • Fix 'zpool add' safety check corner cases #17780
  • Linux 6.17: d_set_d_op() is no longer available #17621
  • CI: Fix FreeBSD 15.0 by staying on ALPHA4 due to broken ALPHA5 image #17846
  • CI: Switch FreeBSD 15 to 15.0-ALPHA4 and add FreeBSD 16 #17815
  • docs: fix a few small typos (#17804)
  • CI: Add ZTS -O option, log Setup Testing Machines step #17753
  • CI: Switch FreeBSD 15 to 15.0-ALPHA3 #17795
  • CI: Remove Buildbot references #17794
  • CI: update perf and bpftools with the kernel packages #17791
  • CI: Switch FreeBSD 15 to 15.0-ALPHA2 #17749
  • CI: Increase setup timeout to 20min, add timestamps #17714
  • ci: fix syntax issues in zfs-qemu.yml #17695
  • ci: use real head sha instead of GITHUB_SHA when generating CI type #17695
  • CI: Increase 'Setup QEMU' timeout to 15 minutes #17697

zfs-2.2.9

18 Nov 20:21
zfs-2.2.9

Choose a tag to compare

Supported Platforms

  • Linux: compatible with 4.18 - 6.17 kernels
  • FreeBSD: compatible with releases starting from 13.3+, 14.0+

Changes

  • BRT: Fix ranges to blocks conversion math #17886 #17915
  • CI: Update FreeBSD versions and ci-type handling #17896
  • zstd: disable intrinsics #17904 #17852
  • freebsd: unbreak module/Makefile.bsd build on 15-CURRENT-arm64 #17219
  • Linux 6.17 compat: Fix broken projectquota on 6.17 #17884 #17869
  • Faster checksum benchmark on system boot #17563 #17560
  • Validate mountpoint on path-based unmount using statx #17481
  • pyzfs: Update ax_python_devel.m4 to serial 37 #17480
  • Reduce zfs_dmu_offset_next_sync penalty #17434
  • build: use correct bashcompletiondir on arch #16861
  • Add building support for Artix Linux (#16265)
  • config/zfs-build.m4: sort vendors #16164
  • enforce arc_dnode_limit #17487 #17542
  • Soften pruning threshold on not evictable metadata #16401
  • Several improvements to ARC shrinking (#16197)
  • Debian rules: install scripts/objtool-wrapper.in into dkms tree #17633 #17646
  • objtool-wrapper: Update Debian packaging #17633 #17646
  • objtool wrapper: use absolute path to call the wrapper #17541
  • dnode_next_offset: backtrack if lower level does not match #16025 #11196
  • contrib/initramfs/scripts/zfs: shellcheck fixup #17626
  • [zfs-2.2.9] Fix zpl_ctldir.c checkstyle
  • zvol: verify IO type is supported #17803
  • zvol: Fix blk-mq sync #17761 #17765
  • ZTS: make uses of mktemp consistent
  • Linux 6.17 compat: META #17789
  • Add interface to interface spa_get_worst_case_min_alloc() function #17758
  • Fix 'zpool add' safety check corner cases #17780
  • Linux 6.17: d_set_d_op() is no longer available #17621
  • Linux 6.16 compat: META #17578
  • linux/zvol_os: fix crash with blk-mq on Linux 4.19 #17597
  • Skip dbuf_evict_one() from dbuf_evict_notify() for reclaim thread #17561
  • Linux 6.16: remove writepage and readahead_page #17443
  • Linux build: handle CONFIG_OBJTOOL_WERROR=y #17456
  • CI: Fix FreeBSD 15.0 by staying on ALPHA4 due to broken ALPHA5 image #17846
  • CI: Switch FreeBSD 15 to 15.0-ALPHA4 and add FreeBSD 16 #17815
  • docs: fix a few small typos (#17804)
  • CI: Add ZTS -O option, log Setup Testing Machines step #17753
  • CI: Switch FreeBSD 15 to 15.0-ALPHA3 #17795
  • CI: Remove Buildbot references #17794
  • CI: update perf and bpftools with the kernel packages #17791
  • CI: Switch FreeBSD 15 to 15.0-ALPHA2 #17749
  • CI: Increase setup timeout to 20min, add timestamps #17714
  • ci: fix syntax issues in zfs-qemu.yml #17695
  • ci: use real head sha instead of GITHUB_SHA when generating CI type #17695
  • CI: Increase 'Setup QEMU' timeout to 15 minutes #17697
  • CI: Add Debian 13 to the FULL_OS runner list #17648
  • CI: Add optional patch level, fix hostname on F42 #17638
  • FreeBSD 15.0 is now "PRERELEASE" #17617
  • CI: match and trim out internal timestamp for test prefix #17045
  • Add CodeQL mismatched dsl_dataset_hold/_rele pairs check #17352
  • CI: Remove Debian backports #17569
  • CI: Add CentOS Stream 9/10 to the FULL_OS runner list #16904 #17526
  • ZTS: Fix FreeBSD 15.0 ksh errors #17523
  • CI: Switch from FreeBSD 13.4 to 13.5 #17519
  • CI: run ztest on compressed zpool #17501
  • ZTS: Use FreeBSD cloudinit images #17462

zfs-2.4.0-rc4

18 Nov 01:12
zfs-2.4.0-rc4

Choose a tag to compare

zfs-2.4.0-rc4 Pre-release
Pre-release

We are excited to announce the fourth release candidate (RC4) of OpenZFS 2.4.0!

Supported Platforms

  • Linux: compatible with 4.18 - 6.17 kernels
  • FreeBSD: compatible with releases starting from 13.3+, 14.0+

Key Features in OpenZFS 2.4.0:

  • Quotas: Allow setting default user/group/project quotas (#17130)
  • Uncached IO: Direct IO fallback to a light-weight uncached IO when unaligned (#17218)
  • Unified allocation throttling: A new algorithm designed to reduce vdev fragmentation (#17020)
  • Better encryption performance using AVX2 for AES-GCM (#17058)
  • Allow ZIL on special vdevs when available (#17505)
  • Extend special_small_blocks to land ZVOL writes on special vdevs (#14876), and allow non-power of two values (#17497)
  • Add zfs rewrite -P which preserves logical birth time when possible to minimize incremental stream size (#17565)
  • Add -a|--all option which scrubs, trims, or initializes all imported pools (#17524)
  • Add zpool scrub -S -E to scrub specific time ranges (#16853)
  • Release topology restrictions on special/dedup vdevs (#17496)
  • Multiple gang blocks improvements and fixes (#17111, #17004, #17587, #17484, #17123, #17073)
  • New dedup optimizations and fixes (#17038, #17123, #17435, #17391)

How to Participate:

We encourage users and developers to test this release candidate and provide feedback. Your input is invaluable in ensuring the final release meets our community's needs. Please report any issues you encounter in our GitHub repository.

zfs-2.4.0-rc4 changelog: git cherry -v remotes/origin/zfs-2.3-release zfs-2.4.0-rc4 | sed '/^-/d; s/+ //g'

zfs-2.4.0-rc3

22 Oct 22:11
zfs-2.4.0-rc3

Choose a tag to compare

zfs-2.4.0-rc3 Pre-release
Pre-release

We are excited to announce the second release candidate (RC3) of OpenZFS 2.4.0!

Supported Platforms

  • Linux: compatible with 4.18 - 6.17 kernels
  • FreeBSD: compatible with releases starting from 13.3+, 14.0+

Key Features in OpenZFS 2.4.0:

  • Quotas: Allow setting default user/group/project quotas (#17130)
  • Uncached IO: Direct IO fallback to a light-weight uncached IO when unaligned (#17218)
  • Unified allocation throttling: A new algorithm designed to reduce vdev fragmentation (#17020)
  • Better encryption performance using AVX2 for AES-GCM (#17058)
  • Allow ZIL on special vdevs when available (#17505)
  • Extend special_small_blocks to land ZVOL writes on special vdevs (#14876), and allow non-power of two values (#17497)
  • Add zfs rewrite -P which preserves logical birth time when possible to minimize incremental stream size (#17565)
  • Add -a|--all option which scrubs, trims, or initializes all imported pools (#17524)
  • Add zpool scrub -S -E to scrub specific time ranges (#16853)
  • Release topology restrictions on special/dedup vdevs (#17496)
  • Multiple gang blocks improvements and fixes (#17111, #17004, #17587, #17484, #17123, #17073)
  • New dedup optimizations and fixes (#17038, #17123, #17435, #17391)

How to Participate:

We encourage users and developers to test this release candidate and provide feedback. Your input is invaluable in ensuring the final release meets our community's needs. Please report any issues you encounter in our GitHub repository.

zfs-2.4.0-rc3 changelog: git cherry -v remotes/origin/zfs-2.3-release zfs-2.4.0-rc3 | sed '/^-/d; s/+ //g'