Releases: openzfs/zfs
zfs-2.2.1
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
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.
zfs-2.2.0-rc5
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
disk
s 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
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
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
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
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
Supported Platforms
- Linux: compatible with 3.10 - 6.3 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
New features:
- Fully adaptive ARC eviction (#14359)
- Block cloning (#13392)
- Scrub error log (#12812, #12355)
- Linux container support (#14070, #14097, #12263)
- BLAKE3 checksums (#12918)
- Rework SHA2 checksums to use hardware acceleration (#13741)
- Rework Edon-R variants with minor speed ups (#13618)
- Corrective "zfs receive" (#9372)
- Zstd early abort (#13244)
- Vdev Properties (#11711)
- Prefetch improvements (#14603, #14516, #14402, #14243, #13452)
zfs-2.1.12
Supported Platforms
- Linux: compatible with 3.10 - 6.3 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- Fix Clang 15 compilation errors #13260 #14150 #14624
- Linux 6.3 compat: META (#14930)
- Silence clang warning of flexible array not at end #14764
- Linux 6.4 compat: reclaimed_slab renamed to reclaimed #14891
- Linux 6.3 compat: Fix memcpy "detected field-spanning write" error #14737
- Linux 6.3 compat: idmapped mount API changes #14682
- Linux 6.3 compat: writepage_t first arg struct folio* #14699
- Workaround for Linux PowerPC GPL-only cpu_has_feature() #14590
- Linux: use filemap_range_has_page() #14493
- Speed up WB_SYNC_NONE when a WB_SYNC_ALL occurs simultaneously
- writeback since it needs to wait for the transaction to complete #12662 #12790
- ZIL: Allow to replay blocks of any size.
- zil: Don't expect zio_shrink() to succeed. #14853
- Remove single parent assertion from zio_nowait(). #14823
- Fix two abd_gang_add_gang() issues. #14816
- Mark TX_COMMIT transaction with TXG_NOTHROTTLE. #14798
- Fix positive ABD size assertion in abd_verify(). #14795
- Move zap_attribute_t to the heap in dsl_deadlist_merge #14524
- Revert "initramfs: use
mount.zfs
instead ofmount
" #14908 - Fix NULL pointer dereference when doing concurrent 'send' operations #14903 #14890
- ZTS: threadsappend_001_pos
- Fix test-runner on FreeBSD #12995
- FreeBSD: add missing vop_fplookup assignments #14788
- FreeBSD: don't verify recycled vnode for zfs control directory #14501
- Fix checkstyle warning #14799
- FreeBSD: add missing vn state transition for .zfs #14774
- FreeBSD: fix up EINVAL from getdirentries on .zfs #14774
- FreeBSD: make zfs_vfs_held() definition consistent with declaration #14776
- Refine special_small_blocks property validation #13815 #14811
- ZTS: Add zpool_resilver_concurrent exception #14904
- ZTS: Add auto_replace_001_pos to exceptions #14852
- ZTS: Annotate additonal flaky test cases #14392
- ZTS: add snapshot/snapshot_002_pos exception #14832
- ZTS: send-c_volume is flaky #14767
- Storage device expansion "silently" fails on degraded vdev 14145
- Use vmem_zalloc to silence allocation warning #8491 #14694
- Add the ability to uninitialize #12451 #14873
- Probe vdevs before marking removed #14861
- Fix concurrent resilvers initiated at same time #14881 #14892
- zdb: consistent xattr output #14830
- Add dmu_tx_hold_append() interface #14819
- pam: Fix "buffer overflow" in pam ZTS tests on F38 #14802 #14842
- ZTS: Minor fixes
- Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole #11893 #14358
- zpool import -m also removing spare and cache when log device is missing #14794
- Allow MMP to bypass waiting for other threads #14659
- Increase default zfs_rebuild_vdev_limit to 64MB #14428
- Increase default zfs_scan_vdev_limit to 16MB #14428
- Improve resilver ETAs #14410
- Fix "Detach spare vdev in case if resilvering does not happen" #14722
- Linux: zfs_fillpage() should handle partial pages from end of file #14534
- Fix buffered/direct/mmap I/O race #13608 #14498
zfs-2.1.11
Supported Platforms
- Linux: compatible with 3.10 - 6.2 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
This is a small release containing a fix for a possible data corruption bug (see #14753)