Skip to content

Releases: openzfs/zfs

zfs-2.2.2

01 Dec 02:52
zfs-2.2.2
Compare
Choose a tag to compare

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"

zfs-2.1.14

01 Dec 02:49
zfs-2.1.14
Compare
Choose a tag to compare

Supported Platforms

  • Linux: compatible with 3.10 - 6.5 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.

  • copy-builtin: add hooks with sed/>> #13316
  • Zpool can start allocating from metaslab before TRIMs have completed #15395
  • dnode_is_dirty: check dnode and its data for dirtiness #15571 #15526

zfs-2.2.1

22 Nov 01:02
zfs-2.2.1
Compare
Choose a tag to compare

Supported Platforms

  • Linux: compatible with 3.10 - 6.6 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

Note: We recommend that anyone running zfs-2.2.0 to please update to this release. Gentoo users have identified a block cloning bug (#15526) that can result in data corruption in zfs-2.2.0. To workaround this, zfs-2.2.1 disables block cloning by default (see #15529 and 479dca5). Users running the 2.1.x branch or older are unaffected, as block cloning is a 2.2.x-only feature.

  • ZTS: Fix 'could not unmount datasets' on Alma 9 (#15542)
  • zfs-2.2.1: Disable block cloning by default (479dca5)
  • Add a tunable to disable BRT support. #15529
  • Packaging: Auto-generate changelog during configure (#15528)
  • Linux 6.6 compat: META #15520
  • Workaround UBSAN errors for variable arrays #15510
  • ZTS: Test for all known zpool feature sets #15505
  • Update zpool-features.7 for grub2 compatibility list updates #15505
  • Workaround to allow openzfs-zfs-dkms install on Ubuntu #15503
  • Linux: reject read/write mapping to immutable file only on VM_SHARED #15344
  • Fix accounting error for pending sync IO ops in zpool iostat #15478
  • Linux 6.6 compat: fix implicit conversion error with debug build #15489
  • Remove obsolete_counts from grub2 compatibility list #15499
  • Fix dkms installation of deb packages created with Alien. #15415
  • Add all read-only compatible zpool features to grub2 compatibility #15459
  • Unify arc_prune_async() code #15456
  • Tune zio buffer caches and their alignments #15452
  • DMU: Do not pre-read holes during write #15371
  • Linux 6.6 compat: fsync_bdev() has been removed in favor of sync_blockdev() #15263
  • Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 #15263
  • Linux 6.6 compat: use inode_get/set_ctime*(...) #15263 #15257
  • Read prefetched buffers from L2ARC #15451
  • Add mutex_enter_interruptible() for interruptible sleeping IOCTLs #15360
  • Revert "zvol: Temporally disable blk-mq" #15439
  • zvol: Remove broken blk-mq optimization #15351
  • "ARC prefetch metadata accesses:" appears twice in the output. #15427
  • Trust ARC_BUF_SHARED() more #15397
  • Remove lock from dsl_pool_need_dirty_delay() #15390
  • run-zts test procfs/pool_state failed with uncorrectable I/O failure #15364
  • Properly pad struct tx_cpu to cache line #15402
  • Fix typo in tests/zfs-tests/tests/functional/cli_user/misc/misc.cfg #15417
  • FreeBSD: taskq: Remove unused declaration #15416
  • Set spa_ccw_fail_time=0 when expanding a vdev. #15405
  • Fix ZED auto-replace for VDEVs using by-id paths #15363
  • Add zfs_prepare_disk script for disk firmware install #15243
  • Large sync writes perform worse with slog #14378
  • FreeBSD: Improve taskq wrapper #15356
  • Fix block cloning between unencrypted and encrypted datasets #15464 #15465

zfs-2.2.0

13 Oct 17:13
zfs-2.2.0
Compare
Choose a tag to compare

Supported Platforms

  • Linux: compatible with 3.10 - 6.5 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

New Features

  • Block cloning (#13392) - Block cloning is a facility that allows a file (or parts of a file) to be "cloned", that is, a shallow copy made where the existing data blocks are referenced rather than copied. Later modifications to the data will cause a copy of the data block to be taken and that copy modified. This facility is used to implement "reflinks" or "file-level copy-on-write". Many common file copying programs, including newer versions of /bin/cp on Linux, will try to create clones automatically.

  • Linux container support (#12209, #14070, #14097, #12263) - Added support for Linux-specific container interfaces such as renameat(2), support for overlayfs, idmapped mounts in a user namespace, and namespace delegation support for containers.

  • Scrub error log (#12812, #12355) - zpool status will report all filesystems, snapshots, and clones affected by a shared corrupt block. zpool scrub -e can be used to scrub only the known damaged blocks in the error log to perform a fast, targeted repair when possible.

  • BLAKE3 checksums (#12918) - BLAKE3 is a modern cryptographic hash algorithm focused on high performance. It is much faster than sha256, sha512, and can be up 3x faster than Edon-R. BLAKE3 is the recommended secure checksum.

  • Corrective "zfs receive" (#9372) - A new type of zfs receive which can be used to heal corrupted data in filesystems, snapshots, and clones when a replica of the data already exists in the form of a backup send stream.

  • Vdev properties (#11711) - Provides observability of individual vdevs in a programmatic way.

  • Vdev and zpool user properties (#11680) - Lets you set custom user properties on vdevs and zpools, similar to the existing zfs dataset user properties.

Performance

  • Fully adaptive ARC (#14359) - A unified ARC which relaxes the artificial limits imposed by both the MRU/MFU distribution and data/metadata distinction. This allows the ARC to better adjust to highly dynamic workloads and minimizes the need for manual workload-dependent tuning.

  • SHA2 checksums (#13741) - Optimized SHA2 checksum implementation to use hardware acceleration when available.

  • Edon-R checksums (#13618) - Reworked the Edon-R variants and optimized the code to make several minor speed ups.

  • ZSTD early abort (#13244) - When using the zstd compression algorithm, data that can not be compressed is detected quickly, avoiding wasted work.

  • Prefetch improvements (#14603, #14516, #14402, #14243, #13452) - Extensive I/O prefetching analysis and optimization.

  • General optimization (#14121, #14123, #14039, #13680, #13613, #13606, #13576, #13553, #12789, #14925, #14948) - Numerous performance improvements throughout.

Additional Information

  • Documentation - OpenZFS documentation for Linux and FreeBSD.

  • Change log - Complete v2.1.0 - v2.2.0 change log

    Thanks to 202 contributors
     git shortlog -s  zfs-2.1.0..zfs-2.2.0
     639  Ahelenia ZiemiaΕ„ska
       1  Aidan Harris
       5  Akash B
      10  Alan Somers
       1  Alejandro Colomar
       2  Alek Pinchuk
       4  Aleksa Sarai
       8  Alexander Lobakin
     126  Alexander Motin
      22  Allan Jude
       2  Alyssa Ross
      23  Ameer Hamza
       1  Andrea Gelmini
       2  Andrea Righi
       1  Andreas VΓΆgele
       4  Andrew Innes
       1  Andrew Turner
       3  Andrew Walker
       4  Andriy Gapon
       1  Anton Gubarkov
       6  Antonio Russo
       1  Armin Wehrfritz
       3  Arshad Hussain
       1  Arun KV
      22  Attila FΓΌlΓΆp
       1  Benedikt Neuffer
       1  Brandon Thetford
       8  Brian Atkinson
     183  Brian Behlendorf
      16  Brooks Davis
       1  Charles Suh
       3  Chris Lindee
       1  Chris Zubrzycki
      12  Christian Schwarz
       6  Chunwei Chen
       1  Clemens Lang
      26  Coleman Kane
       3  Colm Buckley
       2  D. Ebdrup
      40  Damian Szuberski
       1  Damiano Albani
       1  Daniel Berlin
       1  Daniel Hiepler
       1  Daniel Kolesa
       1  Daniel Reichelt
       1  Daniel Stevenson
       1  David Hedberg
       1  Dimitri John Ledkov
       3  Dimitry Andric
       1  Dmitri John Ledkov
       3  Don Brady
       1  Doug Rabson
       1  Edmund Nadolski
       1  Ethan Coe-Renner
       6  Fedor Uporov
       1  Felix DΓΆrre
       4  Finix Yan
       1  Francesco Mazzoli
      36  George Amanakis
      20  George Melikov
       7  George Wilson
       2  Georgy Yakovlev
       1  Gian-Carlo DeFazio
       4  Gionatan Danti
       1  Glenn Washburn
       1  Gordon Bergling
       1  Graham Perrin
       3  Gregory Bartholomew
       1  Han Gao
       1  Harald van Dijk
       1  Harry Sintonen
       1  Herb Wartens
       2  InsanePrawn
       1  Jason Harmening
       1  Jason King
       1  Jeremy Visser
       4  Jitendra Patidar
       1  John Poduska
       8  John Wren Kennedy
       1  Jonathon Fernyhough
      24  Jorgen Lundman
       1  JosΓ© Luis Salvador Rufo
       1  Julian Brunner
       6  Justin Gottula
       1  Justin Hibbits
       2  Ka Ho Ng
       3  Kay Pedersen
       1  Kevin Bowling
       4  Kevin Jin
       1  Kristof Provost
       1  Krzysztof Piecuch
       3  Kyle Evans
       1  Laevos
       2  Laura Hild
       1  LaurenΘ›iu Nicola
       1  Lauri Tirkkonen
       1  LuΓ­s Henriques
       2  Manoj Joseph
       1  Marcel Menzel
       1  Marcin Skarbek
       4  Mariusz Zaborski
      20  Mark Johnston
       1  Mark Maybee
       7  Martin MatuΕ‘ka
       2  Martin RΓΌegg
      23  Mateusz Guzik
       6  Mateusz Piotrowski
       1  Matt Fiddaman
      12  Matthew Ahrens
       1  Matthew Thode
       1  Matthias Blankertz
       1  Max Zettlmeißl
       1  Michael Franzl
       1  Michal Vasilek
       3  Mike Swanson
       1  Minsoo Choo
       1  Mohamed Tawfik
       1  Nathaniel Wesley Filardo
       1  Neal Gompa (ニール・ゴンパ)
       1  Nick Terrell
       2  Olaf Faaland
       1  Pablo Correa GΓ³mez
       1  Palash Gandhi
      31  Paul Dagnelie
       5  Paul Zuchowski
       1  Pavel Snajdr
      21  Pawel Jakub Dawidek
       2  Peter Levine
       1  Phil Kauffman
       1  Philipp Riederer
       2  Ping Huang
       1  Piotr Kubaj
       2  Piotr P. Stefaniak
       2  Prakash Surya
       1  Rafael Kitover
       1  Reno Reckling
       2  Riccardo Schirone
      83  Rich Ercolani
       1  Richard Laager
     197  Richard Yao
      40  Rob Norris
      11  Rob Wing
       1  Roberto Ricci
       1  Romain Dolbeau
       1  Ryan Hirasaki
       1  Ryan Lahfa
      88  Ryan Moeller
       1  Sam Hathaway
       1  Sam James
       1  Samuel Wycliffe
       1  Samuel Wycliffe J
       1  Satadru Pramanik
       5  Savyasachee Jha
       1  Scott Colby
       1  Sean Eric Fagan
      11  Serapheim Dimitropoulos
       1  Shaan Nobee
       4  Stoiko Ivanov
       1  StΓ©phane Lesimple
       2  Teodor Spæren
       1  TerraTech
       1  Till Maas
       1  Timothy Day
      37  Tino Reichardt
       2  Tomohiro Kusumi
      25  Tony Hutter
       1  Tony Nguyen
       6  Toomas Soome
       1  Toyam Cox
       1  Trevor Bautista
      16  Umer Saleem
       8  Val Packett
       1  Valmiky Arquissandas
       3  Vince van Oosten
       1  Violet Purcell
       1  Vipin Kumar Verma
       1  Volker Mauel
       2  VΓ‘clav SkΓ‘la
       9  WHR
       1  Walter Huf
       1  Will Andrews
       1  Windel Bouwman
       1  Wojciech MaΕ‚ota-WΓ³jcik
       2  Xinliang Liu
       1  Yann Collet
       1  Yanping Gao
      13  Youzhong Yang
       4  Yuri Pankov
       1  Zach Dykstra
       1  Zhu Chuang
       1  buzzingwires
       2  chrisrd
       1  grembo
       1  hedong zhang
       1  hping
       1  illiliti
       1  jokersus
       1  jumbi77
       1  naivekun
       1  ofthesun9
       1  omni
       1  Γ‰rico Nogueira
    
  • Module options - The default values for the module options were selected to yield good performance for the majority of workloads and configurations. They should not need to be tuned for most systems but are available for performance analysis and tuning. See the module parameters documentation for the complete list of the options and what they control.

    New module options
Read more

zfs-2.2.0-rc5

07 Oct 16:33
zfs-2.2.0-rc5
Compare
Choose a tag to compare
zfs-2.2.0-rc5 Pre-release
Pre-release

Supported Platforms

  • Linux: compatible with 3.10 - 6.5 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • ZIL: Reduce maximum size of WR_COPIED to 7.5K #15353
  • rpm: Fix make rpm on Debian/Ubuntu #15355 #15365
  • import: require force when cachefile hostid doesn't match on-disk #15290
  • tests: add tests for zpool import behaviour when hostid changes #15290
  • zfsconcepts: add description of block cloning #15362
  • Reduce number of metaslab preload taskq threads. #15319
  • CI: add FreeBSD build with Cirrus CI #15332
  • tests/block_cloning: sync before write in fallback test #15359
  • ARC: Drop different size headers for crypto #15293 #15347
  • ARC: Remove b_bufcnt/b_ebufcnt from ARC headers #15350
  • ARC: Remove b_cv from struct l1arc_buf_hdr #15340
  • Add BTI landing pads to the AArch64 SHA2 assembly #14862 #15339
  • Add '-u' - nomount flag for zfs set #15322
  • Improve the handling of sharesmb,sharenfs properties #15240
  • Update the behavior of mountpoint property #15240
  • contrib: debian: drop bashcompletion mangling after install #15304 #15304
  • contrib: debian: switch to dh-sequence-dkms #15304
  • contrib: bash_completion.d: make install destination vendor dependent #15304
  • Fix invalid pointer access in trace_dbuf.h #15333
  • Report ashift of L2ARC devices in zdb #15331
  • Restrict short block cloning requests #15321
  • Tweak rebuild in-flight hard limit #15324
  • Fix ENOSPC for extended quota #15312
  • Don't allocate from new metaslabs #15307 #15308
  • Reduce trim min size even lower for tests to reduce flakiness #15315
  • ZTS: Fix introduced test bug in block_cloning_copyfilerange #15316
  • ZTS: Add additional exceptions #15306
  • Set timeout before creating pool in test #15309
  • Invoke zdb by guid to avoid import errors #15298
  • ZIL: Avoid dbuf_read() in ztest_get_data() #15301
  • tests/block_cloning: try harder to stay on same txg in fallback test #15303
  • status: report pool suspension state under failmode=continue #15297
  • Fix occasional rsend test crashes #15273
  • cmd: add 'help' subcommand to zpool and zfs #15288
  • Fix incorrect expected error in ztest #15295
  • Fix l2arc_apply_transforms ztest crash #15177 #15248
  • tests: install missing PAM tests #15291
  • ZIL: Fix potential race on flush deferring. #15278
  • Retire z_nr_znodes #15274
  • zed: Allow autoreplace and fault LEDs for removed vdevs #15281
  • check-zstd-symbols: also ignore _pfx symbols #15282 #15284
  • Remove implication that child disks aren't vdevs in zpoolconcepts(7) #15247
  • update max_variance limit in zdb_block_size_histogram test for CI #15252
  • Update the MOS directory on spa_upgrade_errlog() #15279 #15277
  • Linux 6.5 compat: META #15265
  • Linux 6.5 compat: spl: properly unregister sysctl entries #15239
  • Linux 6.5 compat: safe cleanup in spl_proc_fini() #15234 #15235
  • Linux 6.5 compat: Use copy_splice_read instead of filemap_splice_read #15164
  • Linux 6.5 compat: replace generic_file_splice_read with filemap_splice_read #15155
  • Linux 6.5 compat: register_sysctl_table removed #15138
  • Revert "Linux 6.5 compat: register_sysctl_table removed" #15134
  • Linux 4.20 compat: wrapper function for iov_iter type access #15100
  • Linux 6.4 compat: iter_iov() function now used to get old iov member #15100
  • Linux 6.5 compat: blkdev changes #15099
  • Linux 6.5 compat: use disk_check_media_change when it exists #15101
  • Linux 6.5 compat: register_sysctl_table removed #15098
  • Add more constraints for block cloning. #15251

zfs-2.1.13

28 Sep 00:52
zfs-2.1.13
Compare
Choose a tag to compare

Supported Platforms

  • Linux: compatible with 3.10 - 6.5 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • check-zstd-symbols: also ignore _pfx symbols #15282 #15284
  • Cleanup: Replace oldstyle struct hack with C99 flexible array members #14372
  • Linux 6.5 compat: META (#15265)
  • checkstyle: fix action failures #15220
  • zed: update zed.d/statechange-slot_off.sh #15210
  • zed: Add zedlet to power off slot when drive is faulted #15200
  • intptr_t definition is canonically signed #15058
  • Linux 6.5 compat: spl: properly unregister sysctl entries #15239
  • Linux 6.5 compat: safe cleanup in spl_proc_fini() #15234 #15235
  • Linux 6.5 compat: Use copy_splice_read instead of filemap_splice_read #15164
  • Linux 6.5 compat: replace generic_file_splice_read with filemap_splice_read #15155
  • Linux 6.5 compat: register_sysctl_table removed #15138
  • Revert "Linux 6.5 compat: register_sysctl_table removed" #15134
  • Linux 4.20 compat: wrapper function for iov_iter type access #15100
  • Linux 6.4 compat: iter_iov() function now used to get old iov member #15100
  • Linux 6.5 compat: blkdev changes #15099
  • Linux 6.5 compat: use disk_check_media_change when it exists #15101
  • Linux 6.5 compat: register_sysctl_table removed #15098
  • Linux 6.5 compat: disk_check_media_change() was added #15060
  • Linux 6.5 compat: BLK_STS_NEXUS renamed to BLK_STS_RESV_CONFLICT #15059
  • Linux: Never sleep in kmem_cache_alloc(..., KM_NOSLEEP) (#14926)
  • quick fix for lingering snapdir unmount problems #14462
  • Workaround issue cleaning up automounted snapshots on Linux #11632 #12670
  • Linux 6.4 compat: META #15125
  • zed: Reduce log noise for large JBODs #15086 #15094
  • zed: Fix zed ASSERT on slot power cycle #15084
  • Fix raw receive with different indirect block size. #15039
  • Fix remount when setting multiple properties. #15000
  • Shorten arcstat_quiescence sleep time
  • Store the L2ARC device ashift in the vdev label #14313 #14963
  • Fix the L2ARC write size calculating logic (2) #14936 #14954
  • Fix the L2ARC write size calculating logic #14939
  • Remove duplicate code in l2arc_evict() #14828
  • Fix memory leak in zil_parse().
  • contrib/bash_completion.d: fix error spew from __zfs_match_snapshot() #12820
  • tests: zts-report: issue numbers are numbers #13259
  • zfs-dkms rpm: simplify scriptlets, fix uninstall #10463 #13182

zfs-2.2.0-rc4

07 Sep 23:39
zfs-2.2.0-rc4
Compare
Choose a tag to compare
zfs-2.2.0-rc4 Pre-release
Pre-release

Supported Platforms

  • Linux: compatible with 3.10 - 6.4 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • Intel QAT 1.7 compatibility #15190
  • Relax error reporting in zpool import and zpool split #15216
  • ZIL: Change ZIOs issue order. #15233
  • ZIL: Revert zl_lock scope reduction. #15228
  • ZIL: Tune some assertions. #15227
  • dmu_buf_will_clone: change assertion to fix 32-bit compiler warning #15224
  • checkstyle: fix action failures #15220
  • Try to clarify wording to reduce zpool add incidents #15179
  • Avoid save/restoring AMX registers to avoid a SPR erratum #14989 #15168
  • zed: update zed.d/statechange-slot_off.sh #15210
  • Make zoned/jailed zfsprops(7) make more sense. #15161
  • tests/block_cloning: rename and document get_same_blocks helper #15181
  • Update outdated assertion from zio_write_compress #15180
  • zed: Add zedlet to power off slot when drive is faulted #15200
  • copy_file_range: fix fallback when source create on same txg #15170 #15172
  • Move zinject from openzfs-zfs-test to openzfs-zfsutils #15160
  • dracut: support mountpoint=legacy for root dataset #15149
  • zfs_clone_range should return a descriptive error codes #15148
  • libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1 #15113
  • linux/spl/kmem_cache: undefine kmem_cache_alloc before defining it #15144
  • Fix some typos #15141
  • ZIL: Second attempt to reduce scope of zl_issuer_lock. #15122
  • ZIL: Replay blocks without next block pointer. #15132
  • ZIL: Avoid dbuf_read() before dmu_sync(). #15153
  • Remove fastwrite mechanism. #15107
  • Avoid waiting in dmu_sync_late_arrival(). #15096
  • zpool_vdev_remove() should handle EALREADY error return #15013 #15129
  • linux: zfs: ctldir: set [amc]time to snapshot's creation property #15110 #15117
  • readmmap.c: fix building with MUSL libc #15130
  • Check the return value in clonefile test #15128
  • linux/copy_file_range: properly request a fallback copy on Linux <5.3 #15131
  • zdb: include cloned blocks in block statistics #15123

zfs-2.2.0-rc3

27 Jul 23:35
zfs-2.2.0-rc3
Compare
Choose a tag to compare
zfs-2.2.0-rc3 Pre-release
Pre-release

Supported Platforms

  • Linux: compatible with 3.10 - 6.4 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • BRT should return EOPNOTSUPP #15097
  • zts: block cloning tests #15050 #405 #13349
  • linux: implement filesystem-side copy/clone functions for EL7 #15050
  • linux: implement filesystem-side clone ioctls #15050
  • linux: implement filesystem-side copy/clone functions #15050
  • dbuf_sync_leaf: check DB_READ in state assertions #15050
  • dmu_buf_will_clone: only check that current txg is clean #15050
  • brt_vdev_realloc: use vmem_alloc for large allocation #15050
  • zfs_clone_range: use vmem_malloc for large allocation #15050
  • zed: Reduce log noise for large JBODs #15086 #15094
  • Linux 6.4 compat: META #15095
  • Remove zl_issuer_lock from zil_suspend(). #15103
  • ZIL: Fix config lock deadlock. #15078 #15080
  • Update changelog for OpenZFS 2.2.0 release #15104

zfs-2.2.0-rc2

22 Jul 00:02
zfs-2.2.0-rc2
Compare
Choose a tag to compare
zfs-2.2.0-rc2 Pre-release
Pre-release

Supported Platforms

  • Linux: compatible with 3.10 - 6.3 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • shellcheck: disable "unreachable command" check [SC2317] #15089
  • metaslab: tuneable to better control force ganging #15088
  • Adjust prefetch parameters. #15072
  • Add explicit prefetches to bpobj_iterate(). #15071
  • Don't emit cksum_{actual_expected} in ereport.fs.zfs.checksum events #15052 #14717
  • Don't emit checksum histograms in ereport.fs.zfs.checksum events #15052 #14717
  • zed: Fix zed ASSERT on slot power cycle #15084
  • Fix zpl_test_super race with zfs_umount #15077
  • spa_min_alloc should be GCD, not min #15067
  • Don't panic if setting vdev properties is unsupported for this vdev type #15063
  • Ignore pool ashift property during vdev attachment #15061
  • Rollback before zfs root is mounted #15025
  • Do not request data L1 buffers on scan prefetch. #15029
  • Linux 6.5 compat: disk_check_media_change() was added #15060
  • Linux 6.5 compat: BLK_STS_NEXUS renamed to BLK_STS_RESV_CONFLICT #15059
  • Linux 6.5 compat: intptr_t definition is canonically signed #15058
  • set autotrim default to 'off' everywhere #15079
  • Fix the ZFS checksum error histograms with larger record sizes #15049
  • Fix raw receive with different indirect block size. #15039
  • Avoid extra snprintf() in dsl_deadlist_merge(). #15056
  • Add missed DMU_PROJECTUSED_OBJECT prefetch. #15024
  • FreeBSD: catch up to __FreeBSD_version 1400093 #15036
  • FreeBSD: Fix build on stable/13 after 1302506. #15047

zfs-2.2.0-rc1

30 Jun 20:51
zfs-2.2.0-rc1
Compare
Choose a tag to compare
zfs-2.2.0-rc1 Pre-release
Pre-release

Supported Platforms

  • Linux: compatible with 3.10 - 6.3 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

New features: