Supported Platforms
- Linux: compatible with 3.10 - 5.12 kernels
- FreeBSD: Release 12.2, stable/12, 13.0 (HEAD)
Changes
- Avoid deadlock when removing L2ARC devices under I/O #12054
- Do not hash unlinked inodes #9741 #11223 #11648 #12210
- FreeBSD: incorporate changes to the VFS_QUOTACTL(9) KPI #12052
- FreeBSD: use vnlru_free_vfsops if available #11881
- cppcheck: integrete cppcheck #11508
- Simple change to fix building in recent environments #12059
- ZTS: pool_state test check for pool existence in cleanup #11534
- Fix zfs_get_data access to files with wrong generation #10593 #11682
- zfs_vnops: make zfs_get_data OS-independent #10979
- Consolidate zfs_holey and zfs_access #11125
- zed: reap child after killing on time-out #11769 #11798
- Fix error code on __zpl_ioctl_setflags() #11791
- Fix typo in zgenhostid.8 #11770
- Linux: always check or verify return of igrab() #11704
- Linux: Set spl_kmem_cache_slab_limit when page size !4K #12152 #11429 #11574 #12150
- Fix zfs_get_data access to files with wrong generation #10593 #11682
- Fix dmu_recv_stream test for resumable #12034
- Remove iov_iter_advance() for iter_write #12041 #12155
- linux 5.13 compat: bdevops->revalidate_disk() removed (#12122) #11967 #11977
- Bend zpl_set_acl to permit the new userns* parameter #12076 #12093
- Update tmpfile() existence detection
- RPM: Explicitly set the required min/max kernel version for the DKMS package #12124
- Linux 5.12 update: bio_max_segs() replaces BIO_MAX_PAGES #11765
- Linux 5.12 compat: idmapped mounts #11712
- FreeBSD: Initialize/destroy zp->z_lock #12003
- ZTS: Fix xattr_002_neg passing too soon #11970
- zdb: ASSERT issues when DEBUG is not defined #11932
- ZTS: Add known exceptions #11949
- receive: don't fail inheriting (-x) properties on wrong dataset type #11416 #11840 #11864
- FreeBSD: damage control racing .. lookups in face of mkdir/rmdir #11926
- Fix AVX512BW Fletcher code on AVX512-but-not-BW machines #11937 #11938
- Fixed incorrect man page reference in zfsprops(8) #11918
- freebsd/libshare: nfs: make nfs_is_shared() thread-safe #11886
- libshare: nfs: don't leak nfs_lock_fd when lock fails #11886
- libzfs: refresh property cache after inheriting userprop #11064 #11911
- libzfs: don't mark prompt+raw as retriable #11911 #11031
- Combine zio caches if possible #11877
- Fix crash in zio_done error reporting #11872 #11896
- Fix 'make checkbashisms` warnings #11902
- Fix vdev health padding in zpool list -v #11899
- libzfs: zfs_mount_at(): load key for encryption root if MS_CRYPT #11870 #11875
- ZTS: fix removal_condense_export test case #11869
- libzfs{,_core}: set O_CLOEXEC on persistent (ZFS_DEV and MNTTAB) fds #11866
- libzfs: zfs_crypto_create() requires a new key by definition: set newkey #11866
- zfprops(8): fix spacing in jailed= arguments #11866
- zfs-[un]jail(8): fix "zfs-jail [un]jail" leftovers #11866
- ZTS: Improve cleanup in removal_with_export #11856
- ZTS: Tests using zhack may fail on FreeBSD #11855
- Ratelimit deadman zevents as with delay zevents #11786
- zfs get -p only outputs 3 columns if "clones" property is empty #11837
- zpool-features.5: remove "booting not possible with this feature"s #11842
- man: fix wrong .Xr macros usages #11845
- libzutil: zfs_isnumber(): return false if input empty #11841 #11843
- ZTS: pool_checkpoint improvements #11832
- ZTS: inheritance/inherit_001_pos is flaky #11830
- Avoid taking global lock to destroy zfsdev state #11751
- FreeBSD: Fix stable/12 after AT_BENEATH removal #11827
- Allow pool names that look like Solaris disk names #11781 #11813
- Don't scale zfs_zevent_len_max by CPU count #11822
- Atomically check and set dropped zevent count #11822
- CI: Increase free space in workflow #11826
- Fix regression in POSIX mode behavior #11760
- ZTS: New test for kernel panic induced by redacted send #11764
- Allow setting bootfs property on pools with indirect vdevs #11763
- FreeBSD: make seqc asserts conditional on replay #11739
- FreeBSD: Fix memory leaks in kstats #11767
- Hold and release permissions exist #11727
- ZTS: Add tests for DOS mode attributes #11734
- ZTS: Fix incorrect use of libtest in user_run by xattr_003_neg #11185
- ZTS: Use ksh and current environment for user_run #11185
- FreeBSD: bring back possibility to rewind the checkpoint from bootloader #11730
- FreeBSD: Clean up zfsdev_close to match Linux #11720
- FreeBSD: switch teardown lock to rms #11153
- Macroify teardown lock handling #11153
- FreeBSD: rename teardown inactive macros to mimick rrm convention #11153
- FreeBSD: remove 2 assertions that teardown lock is not held #11153
- FreeBSD: rework asserts in zfs_dd_lookup #11153
- Add branch prediction to ZFS_ENTER and ZFS_VERIFY_ZP macros #11153
- zpool import cachefile improvements #11716
- Fix whitespace introduced in ecc277c #11722
- FreeBSD: Fix scope of deadman tunables #11715
- Microoptimizations for VERIFY() and friends #11708
- Add missing files to Makefile #11705
- CI checkstyle: pin ubuntu version #11713
- ZTS events_002: Improve speed and reliability #11703
- zvol: call zil_replaying() during replay #11667
- ZTS: Improve cleanup in zpool tests #11694
- Cancel TRIM / initialize on FAULTED non-writeable vdevs #11588
- ZTS: zpool_trim_start_and_cancel_pos.ksh #11649
- Fix overly broad locking in spa_vdev_config_exit() #11585
- Wrap bare EINVAL returns with SET_ERROR #11636