Releases: openzfs/zfs
Releases · openzfs/zfs
zfs-2.1.10
Supported Platforms
- Linux: compatible with 3.10 - 6.2 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- Removed Python 2 and Python 3.5- support #12925
- linux 6.3 compat: needs REQ_PREFLUSH | REQ_OP_WRITE #14695
- Fix "Add colored output to zfs list" #14712
- ZTS: Log test name to /dev/kmsg on Linux #13227
- Add Linux kmemleak support to ZTS #13084
- Linux 6.2 compat: META #14689
- Fix console progress reporting for recursive send #14448
- zfs_main.c: fix unused variable error with GCC #14441
- Use setproctitle to report progress of zfs send #14376
- Additional limits on hole reporting #14512 #14641
- Add colored output to zfs list #14621 #14350
- Colorize zpool iostat output #14621 #14459
- Add more ANSI colors to libzfs #14621
- linux 6.3 compat: add another bdev_io_acct case #14658 #14668
- Update vdev state for spare vdev #14653
- zed: add hotplug support for spare vdevs #14295
- zed: post a udev change event from spa_vdev_attach() #14172
- zed: mark disks as REMOVED when they are removed
- FreeBSD: Remove extra arc_reduce_target_size() call #14639
- Improve arc_read() error reporting
- QAT: Fix uninitialized seed in QAT compression #14632 #14463
- Fix for mountpoint=legacy #14599 #14604
- ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced() #13368
- Update workflows
- Workaround GitHub Action failure #14530
- Ubuntu 22.04 integration: GitHub workflows #14148
- initramfs: fix zpool get argument order #14572
- Turn default_bs and default_ibs into ZFS_MODULE_PARAMs #14293
- Add missing increment to dsl_deadlist_move_bpobj() #14573
- Optimize the is_l2cacheable functions #14494 #14563
- System-wide speculative prefetch limit. #14516
- Prefetch on deadlists merge #14402
- Introduce minimal ZIL block commit delay #14418
- Pack zrlock_t by 8 bytes #14317
- Remove few pointer dereferences in dbuf_read() #14199
- Switch dnode stats to wmsums #14198
- Micro-optimize zrl_remove() #14200
- Remove atomics from zh_refcount #14196
- Optimize microzaps #14039
- autoconf: add support for openEuler #14241
- Set DEFAULT_INIT_SHELL to /sbin/openrc-run for Gentoo and Alpine #12683 #12692
- rpm: add support for openEuler #14222
- Revert zfeature_active() to static
- Move dmu_buf_rele() after dsl_dataset_sync_done() #14522 #14523
- Partially revert eee9362 #14502
- Fix a race condition in dsl_dataset_sync() when activating features #13816
- initramfs: Make mountpoint=none work #14455
- Avoid a null pointer dereference in zfs_mount() on FreeBSD #14218
- Allow mounting snapshots in .zfs/snapshot as a regular user #13758
zfs-2.1.9
zfs-2.1.8
Supported Platforms
- Linux: compatible with 3.10 - 6.1 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- change how d_alias is replaced by du.d_alias #14377
- Linux ppc64le ieee128 compat: Do not redefine __asm on external headers #14308 #14384
- include systemd overrides to zfs-dracut module #14075 #14076
- Activate filesystem features only in syncing context #14304 #14252
- Illumos #15286: do_composition() needs sign awareness #14318 #14342
- dracut: fix typo in mount-zfs.sh.in #13602
- removal of LegacyVersion broke ax_python_dev.m4 #14297
- FreeBSD: catch up to 1400077 #14328
- Fix shebang for helper script of deb-utils #14339
- Add quotation marks around
$PATH
for deb-utils #14339 - Documentation corrections #14298 #14307
- systemd: set restart=always for zfs-zed.service #14294
- Add color output to zfs diff.
- libzfs: diff: simplify superfluous stdio #12829
- libzfs: diff: print_what() can return the symbol => get_what() #12829
- FreeBSD: Remove stray debug printf #14286 #14287
- Zero end of embedded block buffer in dump_write_embedded() #13778 #14255
- Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names #14272
- Restrict visibility of per-dataset kstats inside FreeBSD jails #14254
- Fix dereference after null check in enqueue_range #14264
- Fix potential buffer overflow in zpool command #14264
- FreeBSD: zfs_register_callbacks() must implement error check correctly #14261
- fgrep -> grep -F #13259
- egrep -> grep -E #13259
- Update META to 6.1 kernel #14371
- ztest fails assertion in zio_write_gang_member_ready() #14250 #14356
- Introduce ZFS_LINUX_REQUIRE_API autoconf macro #14343
- linux 6.2 compat: bio->bi_rw was renamed bio->bi_opf #14324 #14331
- linux 6.2 compat: get_acl() got moved to get_inode_acl() in 6.2 #14323 #14331
- Linux 6.1 compat: open inside tmpfile() #14301 #14343
- ZTS: close in mmapwrite.c #14353
- ZTS: limit mmapwrite file size #14277 #14345
- skip permission checks for extended attributes
- Allow receiver to override encryption properties in case of replication
- zed: unclean disk attachment faults the vdev
- FreeBSD: Fix potential boot panic with bad label #14291
- Add workaround for broken Linux pipes #13309
- initramfs: Fix legacy mountpoint rootfs #14274
- vdev_raidz_math_aarch64_neonx2.c: suppress diagnostic only for GCC
- tests: mkfile: usage: () -> (void)
- Use Ubuntu 20.04 and remove Ubuntu 18.04 from workflows #14238
- dracut: skip zfsexpandknoweldge when zfs_devs is present in dracut #13121
zfs-2.1.7
Supported Platforms
- Linux: compatible with 3.10 - 6.0 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- zfs-2.1.7: Use ubuntu-20.04 for zloop and sanity builders
- Fix setting the large_block feature after receiving a snapshot #13699 #13782
- Make autodetection disable pyzfs for kernel/srpm configurations #13394 #14178
- Don't leak packed recieved proprties #14197
- Fix NULL pointer dereference in dbuf_prefetch_indirect_done() #14210
- Lua: Fix bad bitshift in lua_strx2number() #14204
- Fix clang 13 compilation errors #13551
- Remove final K&R definitions #13447
- module: zfs: vdev_removal: remove unused num_indirect #13304
- tests: cmd: draid: remove unused and undocumented -v #13304
- linux: libspl: zone: () -> (void) #12968
- Correct multipathd.target to .service #12709 #14171
- Handle and detect #13709's unlock regression (#14161)
- Fix arc_p aggressive increase #14137 #14120
- FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy() #14135
- Expose zfs_vdev_open_timeout_ms as a tunable #14133
- Remove an unused variable #14125
- Make 1-bit bitfields unsigned #14125
- Address warnings about possible division by zero from clangsa #14124
- Avoid null pointer dereference in dsl_fs_ss_limit_check() #14103
- Fix too few arguments to formatting function #14098
- Remove zpl_revalidate: fix snapshot rollback #9600 #14070
- Fix theoretical use of uninitialized values #14043
- Fix memory leaks in dmu_send()/dmu_send_obj() #13973
- Fix possible NULL pointer dereference in sha2_mac_init() #14044
- set_global_var() should not pass NULL pointers to dlclose() #14044
- Fix NULL pointer dereference in spa_open_common() #14044
- Fix NULL pointer passed to strlcpy from zap_lookup_impl() #14044
- fm_fmri_hc_create() must call va_end() before returning #14044
- Fix NULL pointer dereference in zdb #14044
- ZED: Fix uninitialized value reads #14047
- Fix theoretical array overflow in lua_typename() #13947
- Fix potential NULL pointer dereference in lzc_ioctl() #14008
- scripts/enum-extract.pl should not hard code perl path #14012
- PAM: Fix unchecked return value from zfs_key_config_load() #13978
- Fix potential NULL pointer dereference in dsl_dataset_promote_check() #13967
- Fix unreachable code in zstreamdump #13946
- PAM: Fix uninitialized value read #13957
- set_global_var_parse_kv() should pass the pointer from strdup() #13867
- Call va_end() before return in zpool_standard_error_fmt() #13904
- Fix potential NULL pointer dereference in zfsdle_vdev_online() #13903
- FreeBSD: Fix uninitialized pointer read in spa_import_rootpool() #13923
- Linux: Fix use-after-free in zfsvfs_create() #13883
- Fix null pointer dereferences in PAM #13889
- Handle ECKSUM as new EZFS_CKSUM ‒ "insufficient replicas" #6805 #13808 #13898
- Fix use-after-free bugs in icp code #13881
- Remove incorrect free() in zfs_get_pci_slots_sys_path() #13864
- Cleanup: Make memory barrier definitions consistent across kernels #13843
- zpool_load_compat() should create strings of length ZFS_MAXPROPLEN #13866
- icp: fix all !ENDBR objtool warnings in x86 Asm code #14035
- icp: fix rodata being marked as text in x86 Asm code #14035
- icp: properly fix all RETs in x86_64 Asm code #14035
- libzfs recv: Check if user prop before inheritable
- dsl_prop_known_index(): check for invalid prop #14142 #14147
- zed: Avoid core dump if wholedisk property does not exist #14062
- zed: Prevent special vdev to be replaced by hot spare #14129
- Deny receiving into encrypted datasets if the keys are not loaded (#14139) #13598 #14055 #14119
- zil: Relax assertion in zil_parse #14116
- quota: extend quota for dataset #13839
- Fix ARC target collapse when zfs_arc_meta_limit_percent=100 #14054 #14093
- Propagate extent_bytes change to autotrim thread #14077
- Linux 6.1 compat: change order of sys/mutex.h includes #14040
- Linux 6.0 compat: META #14091
- Linux compat: fix DECLARE_EVENT_CLASS() test when ZFS is built-in #14006
- zfs_domount: fix double-disown of dataset / double-free of zfsvfs_t #14025
- Linux: Remove ZFS_AC_KERNEL_SRC_MODULE_PARAM_CALL_CONST autotools check #13984 #14004
- CI: bump actions/upload-artifact to v3 #14018
- CI: bump actions/checkout to v3 #14018
- Stop ganging due to past vdev write errors #14003
- zvol_wait logic may terminate prematurely #13998
- Remove ambiguity on demand vs prefetch stats reported by arc_summary #13985
- Fix panic in dsl_process_sub_livelist for EINTR #13939
- Bring per_txg_dirty_frees_percent back to 30 #13932 #13938
- Add options to zfs redundant_metadata property #13680
- FreeBSD: vn_flush_cached_data: observe vnode locking contract #14079
- FreeBSD: Fix a pair of bugs in zfs_fhtovp() #14001 #13974
- Fix sequential resilver drive failure race condition #14041 #14050
- contrib: dracut: zfs-snapshot-bootfs: exit status fix
- contrib: dracut: zfs-{rollback,snapshot}-bootfs: explicit snapname fix #13585
- kcfpool_alloc() should have its argument list marked void #14023
- etc: mask zfs-load-key.service #14010 #14019
- initramfs: use
mount.zfs
instead ofmount
#13305
zfs-2.1.6
Supported Platforms
- Linux: compatible with 3.10 - 5.19 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- Fix bad free in skein code #13954
- zpool: Don't print "repairing" on force faulted drives #13927 #13930
- FreeBSD: handle V_PCATCH #13910
- FreeBSD: catch up to 1400068 #13909
- FreeBSD: stop passing LK_INTERLOCK to VOP_LOCK #13908
- FreeBSD: Fix integer conversion for vnlru_free{,_vfsops}() #13882
- FreeBSD: Ignore symlink to i386 includes #13719
- LUA: Fix CVE-2014-5461 #13949
- Linux: Fix uninitialized variable usage in zio_do_crypt_data() #13944
- Refactor Log Size Limit #13476
- Revert "Reduce dbuf_find() lock contention"
- Add zfs_btree_verify_intensity kernel module parameter #13874
- Fix incorrect size given to bqueue_enqueue() call in dmu_redact.c #13885
- Delay ZFS_PROP_SHARESMB property to handle it for encrypted raw receive #13878
- zfs recv hangs if max recordsize is less than received recordsize #13855
- include: move SPA_MINBLOCKSHIFT and zio_encrypt to sys/fs/zfs.h #12116
- Improve too large physical ashift handling #13798
- Ask libtool to stop hiding some errors #13086
- Add Module Parameter Regarding Log Size Limit #12284
- Optimize txg_kick() process (#12274) #12274
- zfs recv hangs if max recordsize is less than received recordsize #13855
- make DMU_OT_IS_METADATA and DMU_OT_IS_ENCRYPTED return B_TRUE or B_FALSE #13842
- vdev_draid_lookup_map() should not iterate outside draid_maps #13865
- Add physical device size to SIZE column in 'zpool list -v' #12561 #13106
- Introduce a tunable to exclude special class buffers from L2ARC #11761 #12285
- config: check for parallel(1), use it for cstyle
- zed: Fix config_sync autoexpand flood #13729
- Add xattr_handler support for Android kernels #13824
- Fix column width in 'zpool iostat -v' and 'zpool list -v' #13811
- FreeBSD: Mark ZFS_MODULE_PARAM_CALL as MPSAFE #13756
- Apply arc_shrink_shift to ARC above arc_c_min #13794
- Importing from cachefile can trip assertion #13781
- ZTS: Fix zpool_expand_001_pos #13743
- zed: Look for NVMe DEVPATH if no ID_BUS #13512 #13646
- zed: Ignore false 'atari' partitions in autoreplace #13497 #13632
- rpm: Silence "unversioned Obsoletes" warnings on EL 9 #13584 #13638
- rpm: Use the correct version-release information in dependencies #13489
- Fix use-after-free in btree code #10989 #13861
- contrib: dracut: zfs-snapshot-bootfs: exit status fix #13769
- arcstat: fix -p option #12916 #13767
- Fix problem with zdb_objset_id test.
- Linux 6.0 compat: register_shrinker() now var-arg #13748
- Linux 5.20 compat: blk_cleanup_disk() #13728
- Linux 5.20 compat: bdevname() #13728
- Linux 5.19 compat: META #13715
- Fix problem with zdb -d #12845 #12944
- Fix checkstyle warning: E275 missing whitespace after keyword #13710
- Revert behavior of 59eab10 on not-Linux #12698
- Handle partial reads in zfs_read #12370 #12509 #12516
- module: lua: ldo: fix pragma name #13348
- ZTS: Fix io_uring support check #13648 #13685
- Fix objtool: missing int3 after ret warning #13528 #13575
- ICP: Add missing stack frame info to SHA asm files #11733
- Fix -Wformat-overflow warning in zfs_project_handle_dir() #13528 #13575
- Fix -Wformat-truncation warning in upgrade_set_callback() #13528 #13575
- Fix -Wuse-after-free warning in dbuf_destroy() #13528 #13575
- Fix -Wuse-after-free warning in dbuf_issue_final_prefetch_done() #13528 #13575
- Fix -Wattribute-warning in dsl layer #13528 #13575
- Fix -Wattribute-warning in edonr #13528 #13575
- Fix -Wattribute-warning in zfs_log_xvattr() #13528 #13575
- Silence -Winfinite-recursion warning in luaD_throw() #13528 #13575
- config: prune unused -Wno-bool-compare checks #13110
- libtpool: -Wno-clobbered #13110
- Remove sha1 hashing from OpenZFS, it's not used anywhere. #12895 #12902
- Fix scrub resume from newly created hole.
- Avoid memory copy when verifying raidz/draid parity #13613
- Avoid memory copies during mirror scrub #13606
- Fix and disable blocks statistics during scrub #13579
- Avoid two 64-bit divisions per scanned block #13591
- Several B-tree optimizations #13582
- Several sorted scrub optimizations #13576
- FreeBSD: Improve crypto_dispatch() handling #13563
- Reduce ZIO io_lock contention on sorted scrub #13553
- AVL: Remove obsolete branching optimizations #13540
- More speculative prefetcher improvements #13452
- Improve mg_aliquot math #13388
- Improve log spacemap load time #12789
- Add more control/visibility to spa_load_verify(). #13022
- spa.c: Replace VERIFY(nvlist_(...) == 0) with fnvlist_ (#12678)
- Avoid small buffer copying on write #12425
- Remove refcount from spa_config_*() #12287
- Scrub mirror children without BPs #13555
zfs-2.1.5
Supported Platforms
- Linux: compatible with 3.10 - 5.18 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- Remove install of zfs-load-module.service for dracut #13574
- FreeBSD: Silence clang unused-but-set-variable
- Improve sorted scan memory accounting #13537
- Corrected edge case in uncompressed ARC->L2ARC handling #13375
- Remove wrong assertion in log spacemap #13486 #13513
- libzfs: Fail making a dataset handle gracefully #13077
- libzfs: mount: don't leak mnt_param_t if mnt_func fails #12968
- Reject zfs send -RI with nonexistent fromsnap #12574 #12575
- Linux 5.18 compat: META #13527
- autoconf: AC_MSG_CHECKING consistency #13529
- Linux 5.19 compat: asm/fpu/internal.h #13529
- Linux 5.19 compat: zap_flags_t conflict #13515
- Linux 5.19 compat: bdev_start_io_acct() / bdev_end_io_acct() #13515
- Linux 5.19 compat: aops->read_folio() #13515
- Linux 5.19 compat: blkdev_issue_secure_erase() #13515
- Linux 5.19 compat: bdev_max_secure_erase_sectors() #13515
- Linux 5.19 compat: bdev_max_discard_sectors() #13515
- Linux 5.18 compat: bio_alloc() #13515
- Silence unused-but-set-variable warning #13507
- zed: support subject as header in zed_notify_email() #13440
- rpm: Keep debug symbols if configured with '--enable-debuginfo' #13500
- FreeBSD: libspl: Add locking around statfs globals #13484
- Standardize RHEL version check in packages #13501
- Modified ncompress requirement in RPM to exclude RHEL9 #13480 #13490
- zed: Take no action on scrub/resilver checksum errors #13499
- zdb: Fix handling of nul termination in symlink targets #13482
- automake: don't install /e/d/zfs or /e/z/zfs-functions +x #13496
- Multiple dracut module install script cleanups #13010
- Remove absolute paths to udev rules and binaries for dracut #13010
- Make dracut fail if essential files cannot be installed #13010
- Make better use of dracut functions when building initramfs #13010
- Fix compiler warnings about zero-length arrays in inline bitops #13463 #13465
- Add missing AC_MSG_RESULT(no) to configure #13454
- abd_os: remove redundant refcount creation for abd_children #13429
- Fix functions without a prototype #13421
- FreeBSD: use zero_region instead of allocating a dedicated page #13406
- autoconf: Fail when __copy_from_user_inatomic is a non-GPL symbol #13389
- PPC get_user workaround #11958 #12590 #13367
- Adding ZERO_PAGE detection #13199
- autoconf: Pretend
CONFIG_MODULES
is always on - kbuild: unify modules(_install) for in-tree and external modules #10832 #13361
- Strengthen Linux kernel capabilities detection #13351
- zvol_wait: Ignore locked zvols #10662
- FreeBSD: Implement hole-punching support #12458
- module: zstd: check we don't leak symbols; regenerate symbol map #12988 #13209
- man: zpool-import.8: -d -or -c #13437
- Reduce dbuf_find() lock contention #13405
- contrib: dracut: remove getargbool polyfill #13291
- Add dracut.zfs.7 #13291
- contrib: dracut: zfs-needshutdown: don't list #13291
- contrib: dracut: zfs-{rollback,snapshot}-bootfs: order after key loading #13291
- contrib: dracut: don't require essentials to be under the same encroot #13291
- contrib: dracut: inline single-use import_pool, move single-use ask_for_password #13291
- contrib: dracut: zfs-lib: remove find_bootfs #13291
- contrib: dracut: zfs-lib: simplify ask_for_password #13291
- contrib; dracut: flatten zfs-load-key, simplify zfs-env-bootfs #13291
- contrib; dracut: centralise root= parsing, actually support root=s #13291
- contrib: dracut: parse-zfs: stop pretending we support FILESYSTEM= #13291
- contrib: dracut: parse-zfs: drop initqueue-finished for i/f #13291
- contrib/dracut: zfs-lib: export_all: replace with inline zpool export -a #13093
- Remove REMAKE_INITRD #12781
- Python 3.10 fixes, part 2 #12045 #12673
- Silence unused-but-set-variable warnings
- module: zfs: freebsd: fix unused, remove argsused #12844
- FreeBSD: remove unused variable
- zvol: remove unused variable #12917
- fm: remove unused variables #12917
- zvol: remove unused variable #12917
- module/zfs: vdev_removal: spa_vdev_remove_thread: remove unused variable #12187
- module/zfs: vdev_indirect: vdev_indirect_repair: remove unused variable #12187
- module/zfs: dbuf: dbuf_read_impl: remove unused variable #12187
- module/zfs: arc: arc_hdr_realloc_crypt: remove unused variables #12187
- libzfs: zfs_send: remove unused variable #12187
- libzutil: zpool_find_config: remove unused variable #12187
- Skip spacemaps reading in case of pool readonly import #9095 #12687
- zfs: holds: dequadratify #13372 #13373
- Linux 5.18 compat: replace __set_page_dirty_nobuffers #13325 #13380
- Fix O_APPEND for Linux 3.15 and older kernels #13370 #13377
- Linux 5.18 compat: kobj_type.default_attrs replaced with default_groups #13357
- FreeBSD: Fix translation from ABD to physical pages.
- Corrected oversight in ZERO_RANGE behavior #13329 #13338
- Document zfs inherit -S's interaction with noninheritable properties #11894 #13335
- Linux 5.17 compat: GENHD_FL_EXT_DEVT / GENHD_FL_NO_PART_SCAN #13294 #13297
- FreeBSD: Return Mach error codes from VOP_(GET|PUT)PAGES #13311
- FreeBSD: Parameterize ZFS_ENTER/ZFS_VERIFY_VP with an error code #13311
- libzfs: import: zpool_clear_label: actually fail if clearing l2arc header fails #13304
- libzfs: sendrecv: always cancel progress thread in zfs_send_one() #11560 #13284
- Linux 5.18 compat: use address_space_operations->readahead #13278
- Linux 5.18 compat: blkg_tryget is moved to private headers #13278
- Linux 5.18 compat: replace genhd.h with blkdev.h includes #13251
- Linux 5.18 compat: 4-argument bio_alloc() #13251
- FreeBSD: Use NDFREE_PNBUF if available #13277
- Export minimal zfs_refcount interfaces #12613
- Default to zfs_dmu_offset_next_sync=1 #12746
- etc/systemd/zfs-mount-generator: serialise, handle keylocation=http[s]:// #12138
- libzfs: diff: stream_bytes: use fputc, %hho formats chars #12829
- zfs, libzfs: diff: accept -h/ZFS_DIFF_NO_MANGLE, disabling path escaping #12829
zfs-2.1.4
Supported Platforms
- Linux: compatible with 3.10 - 5.17 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- zed: Fix mpath autoreplace on Centos 7 #13222
- zed: Misc multipath autoreplace fixes #13023
- Fix ACL checks for NFS kernel server #13221
- Linux 5.16 compat: restore FSR and FSAVE #13210 #13236
- module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits #13220
- FreeBSD: add missing replay check to an assert in zfs_xvattr_set #13219
- get_key_material_https: removed bogus free() call #13198
- Fix module build with -Werror #13194 #13196
zfs-2.1.3
Supported Platforms
- Linux: compatible with 3.10 - 5.16 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- Fix ENOSPC when unlinking multiple files from full pool #13172
- ZTS: deadman_sync fix #12625
- zfs: Fix a deadlock between page busy and the teardown lock #12828
- Really zero the zero page #12569
- ZTS: Fix import_devices_missing.ksh #13169
- ZTS: Retry in import_rewind_config_changed.ksh #13119
- ZTS: Modify receive-o-x_props_override.ksh exception #13167
- ZTS: Move largest_pool_001_pos.ksh to Linux runfile #13166
- Fix erroneous zstreamdump warning #13154
- Fix FreeBSD reporting on reruns #13156
- Fix cpu hotplug atomic sleep issue #12714
- Fix directory detection in
dkms.mkconf
#11449 #13141 - Linux 5.11 compat: x86 SIMD: fix kernel_fpu_{begin,end}() detection #13147
- Fix Linux kernel directories detection #9935 #13096
- Enable encrypted raw sending to pools with greater ashift #13067 #13074
- Avoid dirtying the final TXGs when exporting a pool #13048 #13098
- zfs-receive.8: properly unlight = in option setting #13101
- zfs-receive.8: fix Op Fl x Ar encryption in running text #13101
- Remove unneeded "extern inline" function declarations #13073
- module: zfs: fix unused, remove argsused #12844
- ZTS: Fix checkpoint_ro_rewind.ksh #13092
- ZTS: Fix zpool_expand_001_pos #13091
- Fix gcc warning in kfpu_begin() #13089
- zpool-import.8: WARNING should be emphasised #13082
- zpool-import.8: newpool is Ar, not Sy #13082
- zpoolprops.7: document leaked #13081
- Correct a typo in zfs-receive.8 #13072
- ZTS: Fix zvol_misc_volmode test #13075
- Add dataset_kstats_update.. to mmap read/write paths #12994 #13044
- Receive checks should allow unencrypted child datasets #13033 #13076
- Propagate KERNEL_* to *.spec #13046
- Add support for $KERNEL_{CC,LD,LLVM} variables #13046
- module: Makefile: simplify clean and install jobs #12979
- module: Makefile: flatten subdir loop, use $PWD instead of
pwd
- Linux 5.16 compat: don't use XSTATE_XSAVE to save FPU state #13042 #13059
mount.zfs -o zfsutil
leverageszfs_mount_at()
#13021- dsl_dir_tempreserve_impl: remove unused
deferred
variable - OpenZFS 9166 - zfs storage pool checkpoint #13056
- libfetch: unquote @LIBFETCH_SONAME@ subst #12922
- contrib/initrd hooks: properly quote @LIBFETCH_SONAME@ #12835
- Remove basename(1). Clean up/shorten some coreutils pipelines #12652
- autoconf: allow Release to contain hyphen #12437
- ZTS: Update enospc_002_pos test case #13060
- Fix clearing set-uid and set-gid bits on a file when replying a write #13027
- Add enumerated vdev names to 'zpool iostat -v' and 'zpool list -v' #12510 #13031
- Report dnodes with faulty bonuslen #12720 #13014
- RPM: Add missing BuildRequires for PAM component #13001
- Clarify
failmode=wait
documentation #12907 #9395 - README: Update OpenZFS website url #12939
- man: speling #12911
- ZTS: Fix enospc_002_pos.ksh again #12903
- ZTS: Fix rollback_003_pos.ksh #12898
- Update zts-report.py with additional tests #10489
- Exclude zvol_misc_volmode for now #12733
- ZTS: Add known exceptions #12624
- ZTS: Minimize udev_wait in zvol_misc tests #12583
- ZTS: Enable punch-hole tests on FreeBSD #12458
- ZTS: Fix refreserv_raidz.ksh #12897
- zfs-test/mmap_seek: fix build on musl #12891
- ZTS: speed up rsend tests #12876
- ZTS: rsend_007_pos failures #5665 #6086 #6087 #6446 #12876
- zfs-share.8: document -l flag #12067
- contrib/initrd: systemd-ask-password --no-tty before argument #12870
- dracut: 90zfs: zfs-load-key: wait for key to appear for up to 10 seconds #12065 #12108
- libzfs: add keylocation=https://, backed by fetch(3) or libcurl #9947 #11956
- ZTS: cli_root/zfs_load-key: add separate key files #11976
- zfsprops.7: Add note about comma-separation #12579
- Add explicit timeout to test step #12999
- Workaround Debian's fake System.map behavior #12862
- Proper support for DESTDIR and INSTALL_MOD_PATH #12577
- ZTS: alloc_class.ksh must wait for the process to exit #12873
- ZTS: Avoid piping send directly to /dev/null #12872
- ZTS: Fix zpool_reopen_[1-5] on Fedora 35 #12871
- systemd: add weekly and monthly scrub timers #12193
- Add init script to load keys #11659 #11662
- Notify on UNAVAIL statechange #12629 #12630
- Upstream: Add snapshot and zvol events #12416
- zed: Add Pushover notifier #12012
- zed-functions.sh: escape newline to produce valid json #13049
- zed: send notification email by default #12806
- Introduce a flag to skip comparing the local mac when raw sending #12981 #10523 #11221 #11294 #12594
- Linux <4.8 compat: submit_bio() rw arg #13006
- Linux 5.17 compat: PDE_DATA() renamed to pde_data() #13004 #12989
- Linux 5.17 compat: dequeue_signal() takes a 4th argument #12989
- Linux 5.17 compat: detect complete_and_exit() rename #12989
- Add support for FALLOC_FL_ZERO_RANGE #12975
- Linux 5.16 compat: Added mapping for iov_iter_fault_in_readable #12975
- Linux 5.16 compat: Added add_disk check for return #12975
- Linux 5.16 compat: Check slab.h for kvmalloc #12975
- Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD #12964
- Avoid memory allocations in the ARC eviction thread #12985
- libzfs_sendrecv: Fix leaked holds nvlist #12967
- libzfs_sendrecv: Avoid extra avl_find #12967
- FreeBSD: Fix zvol_cdev_open locking #13016
- FreeBSD: Fix zvol_*_open() locking #12934
- FreeBSD: Fix leaked strings in libspl mnttab #12961
- linux: libzfs: mount: fix uninitialised flags #12954
- FreeBSD: vfsops: use setgen for error case #12905
- zfs_prune: reset sc.nr_to_scan #12908
- Verify dRAID empty sectors #12857
- FreeBSD: fix unpropagated error #12904
- FreeBSD: fix world build after 143476c #12880
- Fix error propagation from lzc_send_redacted #12766
- freebsd/libshare: nfs: don't send SIGHUP to all processes #12067
- Fix zvol_open() lock inversion #12863
- FreeBSD: Update argument types for VOP_READDIR #12874
- Reduce number of arc_prune threads #12896
- FreeBSD: Provide correct file generation number #12851
zfs-2.0.7
Supported Platforms
- Linux: compatible with 3.10 - 5.15 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- Fix zvol_open() lock inversion #12863
- FreeBSD: Add vop_standard_writecount_nomsync #12828
- FreeBSD: Catch up with more VFS changes #12828
- Remove (now unused) td argument from zfs_lookup() #12748
- FreeBSD: Implement xattr=sa #11997
- Fix several bugs in the FreeBSD rename VOP implementation #12717
- Exit the teardown section later in rename on FreeBSD #12704
- Fix potential use-after-frees in FreeBSD getpages and setattr VOPs #12704
- ZTS: import_rewind_device_replaced reliably fails #12821
- Linux 5.15 compat: META #12824
- ZFS send/recv with ashift 9->12 leads to data corruption #12770
- Linux 5.16: Resolve ZSTD_isError symbol collision in Linux kernel #12819
- Linux 5.16: The blk-cgroup.h header is where struct blkcg_gq is defined #12819
- Linux 5.16: bio_set_dev is no longer a helper macro #12819
- Linux 5.16: type member of iov_iter renamed iter_type #12819
- Linux 5.16: block_device_operations->submit_bio now returns void #12819
- Linux 5.16 compat: asm/fpu/xcr.h is new location for xgetbv/xsetbv #12800
- FreeBSD: avoid memory allocation in arc_prune_async #12049
- tests/file_check: remove unused variable #12187
- Strip colons from all test result filenames #12815
- Linux 5.13 compat: retry zvol_open() when contended #12759
- Temporarily remove tests from sanity runfile #12814
- Add zfs-test facility to automatically rerun failing tests #12740
- Linux 5.16: wait_on_page_bit() no longer available to modules #12800
- Iterate encrypted clones at zvol_create_minor #12471
- Update ABIs for zfs-2.0.7
- libefi: remove efi_auto_sense() #12191
- libefi: efi_get_devname: don't allocate procfs path #12048
- cppcheck: resolve double free #11508
- Restore dirty dnode detection logic #11900 #12745
- Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency #12724
- zed: Control NVMe fault LEDs #12648 #12695
- Linux 5.16 compat: submit_bio() #12725
- Linux 5.16 compat: linux/elevator.h #12725
- zed.d/pool_import-led.sh: fix for current zpool scripts #11934 #11935
- Revert behavior of 59eab10 on not-Linux #12698
- Handle partial reads in zfs_read #12370 #12509 #12516
- Cleaning up uio headers #11622
- Extending FreeBSD UIO Struct #11438
- FreeBSD: Move uio_prefaultpages def to uio.h #11176
- Remove UIO_ZEROCOPY functions structures #11124
- FreeBSD: Catch up with recent VFS changes #12668
- vdev_id: Fix PHY sorting #12699
- vdev_id: Fix enclosure_symlinks feature #12660
- Rescan enclosure sysfs path on import #11950 #12095
- vdev_id: Return an error if config file is not found (#12508)
- vdev_id.conf.5: modernise #12125
- vdev_id.8: modernise, note scsi topology #12125
- zfs_get_enclosure_sysfs_path(): don't free undefined pointer #11993
- zfs_get_enclosure_sysfs_path(): don't leak dev path #11993
- vdev_id: variable not getting expanded under map_slot() #11951 #11959
- vdev_id: Create symlinks even if no /dev/mapper/ #11698
- vdev_id: Fix partition regular expression #11637
- Better zfs_get_enclosure_sysfs_path() enclosure support #11617
- vdev_id: Support daisy-chained JBODs in multipath mode #11526
- Added error for writing to /dev/ on Linux
- ZTS: Add known exceptions #12272
- ZTS: Standardize use of destroy_dataset in cleanup #12663
- Update
checkstyle
workflow env to ubuntu-20.04 #12713 - Workaround cloud-init hotplug issue #12644 #12669
- CI: don't install abigail-tools #12529
- CI: use fresh libabigail via docker image #12529
- Update libera webchat client URL #12251
- Don't direct to freenode in issue template #12127
- gcc 11 cleanup #12130 #12188 #12237
- Use fallthrough macro #12441
- Correct a flaw in the Python 3 version checking
- Let zfs diff be more permissive #12072
- Added test for being able to read various variants of zstd #12030
- zed: only go up to current limit in close_from() fallback #11834
- zed: implement close_from() in terms of /proc/self/fd, if available #11834
- Fix cross-endian interoperability of zstd #12008 #12022
- CI: generate ABI files if changed #12379
- Update bug report template
- Update libera webchat client URL #12251
- Don't direct to freenode in issue template #12127
zfs-2.1.2
Supported Platforms
- Linux: compatible with 3.10 - 5.15 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- zfs-dkms rpm: Fix scriptlets dependencies #12822 #12832
- FreeBSD: Add vop_standard_writecount_nomsync #12828
- FreeBSD: Catch up with more VFS changes #12828
- Fix several bugs in the FreeBSD rename VOP implementation #12717
- Remove (now unused) td argument from zfs_lookup() #12748
- Exit the teardown section later in rename on FreeBSD #12704
- Fix potential use-after-frees in FreeBSD getpages and setattr VOPs #12704
- ZTS: import_rewind_device_replaced reliably fails #12821
- Update checkstyle workflow env to ubuntu-20.04 #12713
- Linux 5.15 compat: META (#12824)
- ZFS send/recv with ashift 9->12 leads to data corruption #12770
- Linux 5.16: Resolve ZSTD_isError symbol collision in Linux kernel #12819
- Linux 5.16: The blk-cgroup.h header is where struct blkcg_gq is defined #12819
- Linux 5.16: bio_set_dev is no longer a helper macro #12819
- Linux 5.16: type member of iov_iter renamed iter_type #12819
- Linux 5.16: block_device_operations->submit_bio now returns void #12819
- Linux 5.16 compat: asm/fpu/xcr.h is new location for xgetbv/xsetbv #12800
- tests/file_check: remove unused variable #12187
- Strip colons from all test result filenames #12815
- Linux 5.13 compat: retry zvol_open() when contended #12759
- Temporarily remove tests from sanity runfile #12814
- Add zfs-test facility to automatically rerun failing tests #12740
- Linux 5.16: wait_on_page_bit() no longer available to modules #12800
- Iterate encrypted clones at zvol_create_minor #12471
- Exclude zfs_copies_003_pos on Linux #12738
- Restore dirty dnode detection logic #11900 #12745
- Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency #12724
- Upgrade to libabigail 2.0.0 #12722 #12739
- zed: Control NVMe fault LEDs #12648 #12695
- Linux 5.16 compat: submit_bio() #12725
- Linux 5.16 compat: linux/elevator.h #12725
- vdev_id: Fix PHY sorting #12699
- vdev_id: Fix enclosure_symlinks feature #12660
- Rescan enclosure sysfs path on import #11950 #12095
- FreeBSD: Catch up with recent VFS changes #12668
- FreeBSD: fix compilation of FreeBSD world after 29274c9 #12282
- ZTS: Standardize use of destroy_dataset in cleanup #12663
- Workaround cloud-init hotplug issue #12644 #12669
- Use fallthrough macro #12441
- Detect HAVE_LARGE_STACKS at compile time (#12584) #12350
- Correct a flaw in the Python 3 version checking (#12636)