Supported Platforms
- Linux: compatible with 4.18 - 7.2 kernels
- FreeBSD: compatible with releases starting from 13.3+, 14.0+
Changes
- [zfs-2.4.4] Add 'capsh' to commands.cfg
- ZTS: device access tests #18960
- vdev_disk: use calling cred to check for device access #18960
- vdev_file: use calling cred to check for device access #18960
- zfs_file_open: add cred arg, use it to check access #18960
- vdev_open: pass credential to check for permission to open device #18960
- secpolicy_zfs: add a note about the power of CAP_SYS_ADMIN #18959
- secpolicy_sys_config: only permit a global zone credential #18959
- secpolicy_zinject: only permit a global zone credential #18959
- secpolicy_nfs: remove, not used #18959
- ZTS: test secpolicy_zinject correctly limits namespace access #18959
- ZTS: test secpolicy_sys_config correctly limits namespace access #18959
- config: detect idmap method via generic_permission test #18769
- mmp: tell a failed uberblock claim apart from remote activity #18892
- ZTS: add coverage for zhack mmp reclaim #18892
- zhack: add "mmp reclaim" to recover a pool stranded by MMP #18892
- Make systemd-udev-settle optional for the import units #18832
- Linux 7.2 compat: META #18941
- Fix negative time overflows in DDT pruning #18886
- nvpair: i_get_value_size() string array handling tweak #18877
- nvpair: Improve native handling of unterminated strings #18876
- CodeQL: Flag implicit compare-then-assign in branch conditions #18899
- Linux 5.19/6.17: handle differences in how to flush delay workqueue #18847
- Linux 6.3: follow_down() gains flags arg #18847
- Linux 6.18 compat: vfs_parse_fs_string() takes 3 args #18847
- nvpair: Fix operator precedence #18874
- ZTS: don't read a command's exit status as a missing binary #18726 #18882
- build: Fix release detection when build dir is not source dir #18891
- CI: don't fail a passing job when a log reader has already exited #18885
- CI: publish the per-VM test counter atomically #18885
- man: zvol_request_sync is not ignored under blk-mq #18887
- libzfs: don't read a dataset handle after closing it in resume send #18870 #18883
- ZTS: add coverage for the MMP claim on a degraded mirror #18855
- mmp: do not require writes to mirror legs the config marks absent #18855
- libzfs: String trimming should not operate out of bounds #18868
- libzfs: don't truncate a resolved vdev path in zpool_vdev_name() #18851 #18871
- libzfs: Do not call munmap() when mmap() fails #18869
- Add missing checks to zfs_clone_range_replay() #18867
- Fix DMU bonus hold leak on I/O error #18865
- zfs: fix stale POSIX ACL cache after rollback #18837
- zed: let autoexpand see capacity changes on partitioned disks #12505 #18833
- zpool export: return EBUSY when zvol minors are in use #18841
- ZTS: make file_check actually compare the resume test results #18834
- ZTS: save ZAP_MICRO_MAX_SIZE before the large microzap tests change it #18834
- dmu_recv: Avoid potential null deref #18848
- DDT: Fix several bugs in pruning #18838
- cstyle: better tolerance for struct literals
- libspl: Implement VERIFY_IMPLY and VERIFY_EQUIV #18822
- mmp: skip non-writeable vdevs during activity check #18823 #18835
- zdb: output refcounts from verify_spacemap_refcounts() #18809
- L2ARC: bound the rebuild by the write hand on a first sweep #3114 #3400 #5583 #10224 #12779 #18827
- ZTS: make zpool_iostat_interval_all teardown deterministic #18273 #18776
- libzfs: fallback VDEV_UPATH to VDEV_PATH for non-DM devices #18439 #18802
- Fix reads for blocks freed after being cloned #18421 #18724
- Rate limit Direct I/O verify zevents #18795
- CI: Update Alpine Linux runner to 3.24.1 #18790
- Remove libuutil from the pull request template and fix headings #18791
- ZTS: fix zpool_initialize_multiple_pools suspend race #18777
- CI: Fix race caused by shared ctr file updates #18778
- zpl_inode: remove zpl_rename no-flags variants #18769
- ZTS: stop zpool_initialize tests racing initialize to completion #11948 #17311 #18771
- ZTS: migration/setup: clear stale zfs_member label before new_fs #18492 #18753
- Fix receive of split large blocks with a short trailing chunk #18749
- Fix receive -x according to comment #18737 #18738
- Add SECURITY.md policy file #18766
- linux: batch DMU reads of non-resident pages in mappedread() #16031 #18741
- Linux: fix zfs_write() infinite loop on unfaultable buffer #17129 #18740
- build: Fix for building dist target outside of project root #18744
- ZTS: ctime_001_pos increase tolerance #18733
- libzfs: fix MS_CRYPT/MS_OVERLAY collision with umount2(2) flags #18713
- Fix insufficient locking in dedup verify #17960 #18712 #18720
- zpl_ctldir: remove comments describing ancient kernel behaviour #18722
- Linux 7.2: zpl_super: convert to sget_fc() #18677
- linux/abd: remove BIO support functions #18719
- Using net/cloud-init to unpin specific python #18717
- linux: handle mmap read beyond file size #18715
- Fix race between device removal completion and pool export #18657
- CI: Increase default watchdog NMI timeout on Linux #18704
- ddt_log: Fix refcount tagging for begin/commit #18706
- Update mtime/ctime when fallocate grows a file #18573
- honor file argument in file_wait_event #18700
- README: update supported FreeBSD release to 15.1 #18696
- Clean up embedded slog metaslab across txgs #18693
- initramfs-zfs should not try to copy directories #18582 #18686
- CI: Re-allow workflow_dispatch on zfs-qemu #18680
- zfs_ioctl: fix EBUSY race between quota queries and mount #18611
- Fix handling of _PC_HAS_HIDDENSYSTEM for FreeBSD #18688
- Linux 7.1 compat: META (#18682)
- Update our CI runners to the newest FreeBSD 15.1 RELEASE (#18667)
- CI: Have zfs-build-packages workflow build tarballs on Alma (#18662)
- arc: add a few invariant checks in release builds #18840
- zbookmark_compare: handle "marker" bookmarks with negative levels #14777 #18652
- delegate: add 'send:encrypted' permission #18673
- zfs_secpolicy_send: lift checks to common function for both #18673
- ZTS: delegate: test send:encrypted #18673
- ZTS: delegate: check send permissions on encrypted datasets #18673
- ZTS: delegate: add encryption option for test fixture datasets #18673
- ZTS: remove send_delegation tests #18672
- ZTS: delegate: add test for send sub-permissions #18672
- ZTS: statx_dioalign.ksh update to stride_dd #18547
- ZTS: Pass dec instead of hex to mknod #18547
- zio_ddt_write: compute have_dvas after taking dde_io_lock #18366 #18544
- freebsd: set mnt_time on the rootfs at mountroot time
- Add dbrrd_latest_time() to grab the latest timestamp in the db
- Constify some rrd_*() functions