Supported Platforms
- Linux: compatible with 3.10 - 5.14 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- Fixed data integrity issue when underlying disk returns error #12391 #12443
- ZTS: Waiting for zvols to be available #12553
- Verify embedded blkptr's in arc_read() #12535
- Linux 5.15 compat: get_acl() #12548
- Allow sending corrupt snapshots even if metadata is corrupted #12541
- arc: Drop an incorrect assert #9897 #12020 #12246
- Compressed receive with different ashift can result in incorrect PSIZE on disk #12522 #8462
- Linux 5.15 compat: standalone <linux/stdarg.h> #12531
- Linux 5.15 compat: block device readahead #12532
- Detect iSCSI in the zpool cmd vdev media script #12206
- CI: don't install abigail-tools #12529
- Update ABI files via new libabigail version #12529
- Libabigail: make .abi files more consistent #12529
- CI: use fresh libabigail via docker image #12529
- Check for libabigail version #12529
- ZTS: Remove exceptions for flaky zhack on FreeBSD #12527
- FreeBSD: Don't remove SA xattr if not SA znode #12514
- Fix cross-endian interoperability of zstd #12008 #12022
- ZTS: Waiting for zvols to be available #12515
- Correct checking bdev_check_media_change message #12492
- Make 'zpool labelclear -f' work on offlined disks #12511
- vdev_id: Return an error if config file is not found #12486
- zpool-remove.8: describe top-level vdev sector size limitation #11339 #12472
- Initialize parity blocks before RAID-Z reconstruction benchmarking #12473
- ZTS: Add tests for creation time #12432
- Linux 4.11 compat: statx support #8507
- zfs.4: Fix typo s/compatiblity/compatibility/ #12464
- Remove b_pabd/b_rabd allocation from arc_hdr_alloc() #12398
- Optimize arc_l2c_only lists assertions #12421
- Fix/improve dbuf hits accounting #12422
- Avoid vq_lock drop in vdev_queue_aggregate() #12297
- Use more atomics in refcounts #12420
- ZTS: Avoid unset $tmpdir in redacted_panic #12455
- Restore FreeBSD sysctl processing for arc.min and arc.max #12161
- zfs: add missed dependency of zfs module on zlib #12442
- Add zfs.sh -r flag to reload modules #12450
- Fix usage of find in tests/Makefile.am #12453
- Run arc_evict thread at higher priority #12397
- Make get_key_material_file fail more verbosely #12410
- Enable /proc/diskstats for zvols #12440 #12066
- Man zpool-scrub.8: describe sequential scrub #12429
- Modify checksum obtain method of QAT #12343
- Allow disabling of unmapped I/O on FreeBSD #12446
- Add comment on metaslab_class_throttle_reserve() locking #12419
- Assorted fixes for the performance tests #12408
- Read past end of argv array in zpool_do_import() #12339
- Add missing properties to zfs allow manpage #12402
- Fixes in persistent L2ARC #12365
- Initialize dn_next_type[] in the dnode constructor #12383
- Zero pad bytes following TX_WRITE log data #12383
- Zero pad bytes when allocating a ZIL record #12383
- Initialize all fields in zfs_log_xvattr() #12383
- Initialize "autoreplace" in spa_ld_get_props() #12383
- Linux 5.14 compat: explicity assign set_page_dirty #12427
- Fix unfortunate NULL in spa_update_dspace #12380 #12428
- Linux 5.14 compat: blk_alloc_disk() #12362 #12409
- zloop: Add a max iterations option, use default run/pass times #12411
- FreeBSD: Ignore make_dev_s() errors #12375
- Remove old orig_fd variable from zfs send #12404
- Optimize allocation throttling #12314
- CI: generate ABI files if changed #12379
- Minor ARC optimizations #12348
- dmu_redact.c does not call bqueue_destroy #12118
- A few fixes of callback typecasting (for the upcoming ClangCFI) #12260
- Remove unused fields from zvol_task_t #12361
- FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+ #12378
- zpool_influxdb: fix -Werror=stringop-truncation #12344
- Correct zfs-send(8) on readonly sends #12336
- Introduce dsl_dir_diduse_transfer_space() #12300
- config/libatomic: require -latomic iff atomic.c doesn't link w/o it #12345 #12359
- Tinker with slop space accounting with dedup #12271
- Fix ARC ghost states eviction accounting #12279
- Update bug report template #12340
- file reference counts can get corrupted #12299
- dprintf_dnode: strcpy -> strlcpy #12311
- Replace strchrnul() with strrchr() #12312
- FreeBSD: Use unmapped I/O for scattered/gang ABD buffers #12320
- FreeBSD: Hardcode abd_chunk_size to PAGE_SIZE #12328
- Move gethrtime() calls out of vdev queue lock #12281
- Use substantially more robust program exit status logic in zvol_id #12302
- Print zvol_id error messages to stderr rather than stdout #12302
- Udev rules: use match (==) rather than assign (=) for PROGRAM #12302
- Udev rules: replace deprecated $tempnode with $devnode #12302
- Udev rules: use non-ancient comma syntax #12302
- Compact dbuf/buf hashes and lock arrays #12289
- Fix abd leak, kmem_free correct size of abd_t #12295
- Upstream: dmu_zfetch_stream_fini leaks refcount #12294
- ZED: Match added disk by pool/vdev GUID if found (#12217)
- Optimize small random numbers generation #12183
- FreeBSD: Implement xattr=sa #11997
- FreeBSD: Clean up ASSERT/VERIFY use in module #11971