Releases: openzfs/zfs
Releases · openzfs/zfs
OpenZFS 2.1.0-rc6
Supported Platforms
- Linux: compatible with 3.10 - 5.12 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- RPM: Explicitly set the required min/max kernel version for the DKMS package #12124
- Minor fix to configure on s390x #12126
- Bend zpl_set_acl to permit the new userns* parameter #12076 #12093
- Reinstate the old zpool read label logic as a fallback #12032 #12040
- mount.zfs.8: match to reality; zfsprops.8: add missing temporary options #12111
- mount.zfs.8: modernise #12111
- zfsprops.8: remove nbmand-not-used-on-Linux and pointer to mount(8) #12111
- Various Linux kABI cosmetics #12103
- linux: don't fall through to 3-arg vfs_getattr #12103
- FreeBSD: Update dataset_kstats for zvols in dev mode #12097
- Correct flaws in arc_summary[23] and their test. #12037 #12036
- FreeBSD: avoid memory allocation in arc_prune_async #12049
- FreeBSD: Retry OCF ENOMEM errors. #12077
- Add note for printing all dbgmsg entries on FreeBSD #12113
- Propagate vdev state due to invalid label corruption #12088
- Update tmpfile() existence detection #12060 #12087
- Fix dRAID sequential resilver silent damage handling #12061
- zfs-allow.8: mention 'bookmark' permission #12064
- Simple change to fix building in recent environments #12059 #11987 #12056
- Scale worker threads and taskqs with number of CPUs #11966
- ZTS: Increase redundancy test timeout #12043
- Fix dmu_recv_stream test for resumable #12034
- FreeBSD: Use SET_ERROR to trace xattr name errors #11997
- FreeBSD: Don't force xattr mount option #11997
- Revert "Fix raw sends on encrypted datasets when copying back snapshots" #11294 #12025 #12033
- Widen mancheck target to all pages, fix them #12017
- ZTS: Add known exceptions #12023
- linux 5.13 compat: bdevops->revalidate_disk() removed #11967 #11977
- module/zfs: remove zfs_zevent_console and zfs_zevent_cols #7082 #11996
OpenZFS 2.1.0-rc5
Supported Platforms
- Linux: compatible with 3.10 - 5.12 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- libzfs: zfs_asprintf(): don't return undefined pointer #11993
- libzfsbootenv: lzbe_set_boot_device(): don't free undefined pointer #11993
- zfs_get_enclosure_sysfs_path(): don't free undefined pointer #11993
- zfs_get_enclosure_sysfs_path(): don't leak dev path #11993
- zpool: vdev_run_cmd(): don't free undefined pointers #11993
- libzfs: zpool_load_compat(): don't free undefined pointers #11993
- libzfs: zpool_load_compat(): open feature file cloexec #11993
- copy-builtin: posix conformance #12004
- Fix dRAID self-healing short columns #12010
- Replace ZoL with OpenZFS where applicable #11956
- FreeBSD: Remove !FreeBSD ifdef'd code #11994
- Clean up use of zfs_log_create in zfs_dir #11994
- zed: protect against wait4()/fork() races to the global PID table #11963 #11965
- Return required size when encode_fh size too small #11995
- Simplify/fix dnode_move() for dn_zfetch #11936 #11998
- FreeBSD: Initialize/destroy zp->z_lock #12003
- Updated zfs_dbgmsg_enable documentation to be more accurate #11984 #11986
- zed.d/zed-functions.sh: fix zed_guid_to_pool() on dash #11935 #11954
- zed.d/history_event-zfs-list-cacher.sh: no grep for snapshot detection #11935
- zed.d/*-notify.sh: use mktemp instead of generating temp path manually #11935
- zed.d/pool_import-led.sh: fix for current zpool scripts #11934 #11935
- libzutil: fix dm_get_underlying_path() return if not a DM device #11935
- ZTS: Fix xattr_002_neg passing too soon #11970
- FreeBSD: Prune some unneeded definitions #11973
- vdev_id: variable not getting expanded under map_slot() #11951 #11959
- vdev_mirror: don't scrub/resilver devices that can't be read #11930
- zfs.spec.in: remove post ldconfig scriptlets #11931
- zdb: ASSERT issues when DEBUG is not defined #11932
- ZTS: Add known exceptions #11949
- Drop "All rights reserved" from files by [email protected] #11947
- 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
OpenZFS 2.1.0-rc4
Supported Platforms
- Linux: compatible with 3.10 - 5.11 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- zed: protect against wait4()/fork() races to the launched process tree #11924 #11928
- Fixed incorrect man page reference in zfsprops(8) #11918
- etc/systemd/zfs-mount-generator: don't fail if no cached pools #11915
- freebsd/libshare: nfs: make nfs_is_shared() thread-safe #11886
- libshare: nfs: don't leak nfs_lock_fd when lock fails #11886
- ZTS: Improve redundancy test scripts #11906
- ICP: Silence objtool "stack pointer realignment" warnings #6950 #11914
- libzfs: refresh property cache after inheriting userprop #11064 #11911
- libzfs: don't mark prompt+raw as retriable #11031 #11911
- Combine zio caches if possible #11877
- contrib/dracut: 90: zfs-{rollback,snapshot}-bootfs: use sbindir #11898
- contrib/i-t: properly mount root's children with spaces #11898
- contrib/dracut: 90: mount essential datasets under root #11898
- contrib/dracut: 90: generator: only log to kmsg if debug set on cmdline #11898
- contrib/dracut: 02: don't spill device names across multiple lines #11898
- Fix crash in zio_done error reporting #11872 #11896
- zfs-send(8): Restore sorting of flags #11905
- linux/spl: proc: use global table_{min,max} values instead of local ones #11879
- linux/libspl: gethostid: read from /proc/sys/kernel/spl/hostid, simplify #11879
- linux/spl: base proc_dohostid() on proc_dostring() #11878 #11879
- ZFS traverse_visitbp optimization to limit prefetch #11802 #11803
- ZTS: add zed_fd_spill to verify the fds ZEDLETs inherit #11891
- zed: set O_CLOEXEC on persistent fds, remove closefrom() from pre-exec #11891
- Add SIGSTOP and SIGTSTP handling to issig #810 #10843 #11801
- Fix 'make checkbashisms` warnings #11902
OpenZFS 2.1.0-rc3
Supported Platforms
- Linux: compatible with 3.10 - 5.11 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- Fix vdev health padding in zpool list -v #11899
- Obsolete earlier packages due to version bump #11844 #11895
- linux/libspl: getextmntent(): don't leak mnttab FILE* #11868
- libzfs: zfs_mount_at(): load key for encryption root if MS_CRYPT #11870 #11875
- FreeBSD: use vnlru_free_vfsops if available #11881
- FreeBSD: add missing seqc write begin/end around zfs_acl_chown_setattr #11884
- FreeBSD: add support for lockless symlink lookup #11883
- .gitmodules: link to openzfs github repository #11868
- cmd/zfs receive: allow dry-run (-n) to check property args #11862
- Improvements to the 'compatibility' property #11861
- ZTS: fix removal_condense_export test case #11869
- Update libzfs.abi for zfs_send() change #11710
- Balance parentheses in parameter descriptions #11882
- ZTS: Add known exceptions #11890
- lib/: set O_CLOEXEC on all fds #11866
- 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
- libzfs_crypto.c: remove unused key_locator enum #11866
- zfprops(8): fix spacing in jailed= arguments #11866
- zfs-[un]jail(8): fix "zfs-jail [un]jail" leftovers #11866
- Allow zfs to send replication streams with missing snapshots #11710
- kmod-zfs should obsolete kmod-spl as well as spl-kmod #11865
- zvol_wait: properly handle zvol_volmode sysctl being 3/none #11859
- zfs_ids_to_path: print correct wrong values #11859
- zfs_ids_to_path: the -v comes after the executable name #11859
- contrib/bpftrace: exec bpftrace, remove useless cat #11859
- arc_summary3: just read /s/m/{mod}/version instead of spawning cat #11859
- zvol_wait: fix for zvols with spaces in name, optimise #11859
- zstreamdump: exec zstream dump #11859
- zpl_inode.c: Fix SMACK interoperability #11646 #11839
- ZTS: Improve cleanup in removal_with_export #11856
- Added check for broken alien version #11848 #11850
- Use dsl_scan_setup_check() to setup a scrub #11849
- Fix double sha1/sha1.o line in module/icp/Makefile.in #11852
- ZTS: Tests using zhack may fail on FreeBSD #11854 #11855
- Ratelimit deadman zevents as with delay zevents #11786
- Add kmodtool fix to detect different System.map location #7807 #11836
- zed: untangle _zed_conf_parse_path() #11860
- zed: don't malloc() global zed_conf instance, optimise zed_conf layout #11860
- zed: remove zed_conf::{min,max}events and ZED{MIN,MAX}_EVENTS #11860
- zed: remove zed_conf::syslog_facility #11860
- zed: _zed_conf_display_help(): be consistent about what got_err means #11860
- zed: untangle -h option listing #11860
- zed: print out licence string as one big chunk #11860
- zed: only go up to current limit in close_from() fallback #11834
- zed.8: the Diagnosis Engine is implemented #11834
- zed: replace zed_file_write_n() with write(2), purge it #11834
- zed: merge all NOT_IMPLEMENTED events #11834
- zed: remove unused zed_file_read_n() #11834
- zed: bump zfs_zevent_len_max if we miss any events #11834
- zed.8: don't pretend an unprivileged user could change the script owner #11834
- zed: purge all mentions of a configuration file #11834
- zed: implement close_from() in terms of /proc/self/fd, if available #11834
- zed: print combined system/user time after ZEDLET death #11834
- zed: allow limiting concurrent jobs #11807
- zed: remove unused zed_file_close_on_exec() #11807
- zed: use separate reaper thread and collect ZEDLET asynchronously #11807
- zed: set names for all threads #11807
OpenZFS 2.1.0-rc2
Supported Platforms
- Linux: compatible with 3.10 - 5.11 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
Changes
- fix misplaced quotes in kmod-preamble #11851
- Obsolete earlier packages due to version bump #11844 #11847
- i-t: don't brokenly set the scheduler for root pool vdev's disks #11838
- i-t: fix root=zfs:AUTO #11278 #11838
- 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
- Fix various typos #11774
- bash_completion.d: always call zfs/zpool binaries directly #11828
- Add RELEASES.md file #11821
- ZTS: inheritance/inherit_001_pos is flaky #11830
- FreeBSD: Fix stable/12 after AT_BENEATH removal #11827
- Bump libzfs.so and libzpool.so versions #11817
- 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
- Fixing m4 iops rename check #11825
- fsck.zfs: implement 4/8 exit codes as suggested in manpage #11806
- Add compatibility file sets (ZoL 0.6.1, 0.6.4, OpenZFS 2.1) #11818
OpenZFS 2.1.0-rc1
Supported Platforms
- Linux: compatible with 3.10 - 5.11 kernels
- FreeBSD: compatible with releases starting from 12.2-RELEASE
New Features
OpenZFS 2.0.4
Supported Platforms
- Linux: compatible with 3.10 - 5.11 kernels
- FreeBSD: Release 12.2, stable/12, 13.0 (HEAD)
Changes
- Clarify compressed zfs send/recv behavior #11690
- Intentionally allow ZFS_READONLY in zfs_write #11693
- Suppress cppcheck invalidSyntax warninigs #11700
- Initialize ZIL buffers #11687
- zpool: use tab to intend continuation from removal status #11674
- Don't bomb out when using keylocation=file:// #11651
- Add "zstd-fast" to help options for "compression" property #11670
- Fix assert in FreeBSD-specific dmu_read_pages #11654
- Linux 5.12 compat: replace bio_io_acct with disk_io_acct #11639
- Linux 5.12 compat: bio->bi_disk member moved #11639
- Linux: increase max nvlist_src size #6572 #11638
- send_iterate_snap : doall send without fromsnap #11608
- vdev_ops: don't try to call vdev_op_hold or vdev_op_rele when NULL #11623
- libzpool: set_global_var: fix endianness handling (fixes zdb -o ) #11602
- Restore FreeBSD resource usage accounting #11613
- FreeBSD: disable the use of hardware crypto offload drivers for now #11612
- Fix report_mount_progress never calling set_progress_header #11607
- Support uClibc for the tests compilations #11600
- Linux 5.11 compat: META #11586
OpenZFS 2.0.3
Supported Platforms
- Linux: compatible with 3.10 - 5.11 kernels
- FreeBSD: Release 12.2, stable/12, 13.0 (HEAD)
Changes
- Set file mode during zfs_write #11474 #11576
- zfs-import-{cache,scan}: change condition to FileNotEmpty #11568
- dracut: Fix race condition between load-key and import #11500
- zfs-list.8: clarify listing snapshots #11562 #11565
- zts-report.py: ignore some skipped tests in Github CI #11554
- CI: add ubuntu-* functional tests runner #11554
- CI: rename zfs-tests workflow #11554
OpenZFS 2.0.2
Supported Platforms
- Linux: compatible with 3.10 - 5.10 kernels
- FreeBSD: Release 12.2, stable/12, 13.0 (HEAD)
Changes
- Avoid updating the L2ARC device header unnecessarily #11522 #11537
- Fix zrele race in zrele_async that can cause hang #11527 #11530
- Fix a resource leak in uu_avl_pool_destroy #11528
- Fix a man page link in zfs-program.8 #11529
- zfsprops.8: fix mispluralisation in "Default values is" #11509
- ZTS: Use swapctl to list swap devices on FreeBSD #11503
- vdev_id: Add error message when $CONFIG is missing #11498
- Fix two minor lint errors (cppcheck) #11507
- Relax special_small_blocks assertion #11501
- FreeBSD: upstream changes to VFS interface #11458
- FreeBSD: fix HEAD build, conditionally remove FDSYNC defines #11458
- dracut: Support /usr/bin as 'systemctl' path #11487
- Install zgenhostid to sbindir #11485
- Re-apply path sanitizer, as mount(8) still mangles it #11295 #11462
- ZTS: avoid piping to special devices #11478
- ZTS: avoid race to unmount in zfs_rollback_001 #11451
- assertion failed in arc_wait_for_eviction() #11285 #11397
- FreeBSD: minor_t needs to be signed so that -1 is recognized as such #11437
- Linux 5.10 compat: restore custom uio_prefaultpages() #11463 #11484
- ZTS: three small follow up fixes for #11167 #11311
- zpool: Dryrun fails to list some devices #11122 #11167
OpenZFS 2.0.1
Supported Platforms
- Linux: compatible with 3.10 - 5.10 kernels
- FreeBSD: Release 12.2, stable/12, 13.0 (HEAD)
Changes
- Autoconf 2.70 compatibility #11413 #11419
- zfs_mount_all_mountpoints: cleanup_all should leave pool root mounted #11417
- VZ 7 kernel compat: introduce ITER-enabled .direct_IO() via IOVECs #11410 #11411
- Memory leak in zdb:import_checkpointed_state() #11396
- Memory leak in ztest_dmu_objset_own() #11396
- Memory leak in ztest_vdev_attach_detach() #11396
- nvlist leaked in zpool_find_config() #11396
- implicit conversion from 'boolean_t' to 'ds_hold_flags_t' #11406
- Linux 5.11 compat: blk_{un}register_region() #11387 #11390
- Linux 5.11 compat: revalidate_disk_size() #11387 #11390
- Linux 5.11 compat: bdev_whole() #11387 #11390
- Linux 5.11 compat: bio_start_io_acct() / bio_end_io_acct() #11387 #11390
- Linux 5.11 compat: lookup_bdev() #11387 #11390
- Linux 5.11 compat: conftest #11387 #11390
- dbufstat: Fix warnings with Python 3.8 #11394
- Linux 5.10 compat: META #11391
- zfs-kmods: install to /lib/modules instead of /usr/lib/modules #11381
- Dangling reference from dmu_objset_upgrade #11368
- Linux 4.18.0-257.el8 compat: blk_alloc_queue() #11374
- Linux 5.10 compat: also zvol_revalidate_disk() #11358
- Fix maybe uninitialized variable warning #11373
- Remove iov_iter_advance() from iter_read #11375 #11378
- Linux 5.10 compat: use iov_iter in uio structure #11351
- Remove incorrect assertion #11235
- Reduce confusion in zfs_write #11191
- Return EFAULT at the end of zfs_write() when set #11193
- Simplify offset and length limit in zfs_write #11176
- Const some unchanging variables in zfs_write #11176
- Remove redundant oid parameter to update_pages #11176
- Factor uid, gid, and projid out of loop in zfs_write #11176
- Share zfs_fsync, zfs_read, zfs_write, et al between Linux and FreeBSD #11078
- ZTS: Simplify zpool_initialize_verify_initialized #11365
- special device removal space accounting fixes #11329
- Use the correct return type for getopt #11359
- DKMS: Disable weak modules #9891 #11128 #11242 #11335
- lua: avoid gcc -Wreturn-local-addr bug #11337
- spa: avoid type narrowing warning #11336
- FreeBSD libzfs: gcc requires __thread after static #11331
- Fix reporting of CKSUM errors in indirect vdevs #11277
- arc_summary3: Handle overflowing value width #11270
- FreeBSD: Implement sysctl for fletcher4 impl #11270
- Fix kernel panic induced by redacted send #11297
- FreeBSD: Fix format of vfs.zfs.arc_no_grow_shift #11318
- FreeBSD: Update usage of py-sysctl #11318
- Fix possibly uninitialized 'root_inode' variable warning #11306
- CI: add zloop workflow
- FreeBSD: Do zcommon_init sooner to avoid FPU panic #11302
- mount_zfs: print strerror instead of errno for error reporting #11303
- Drop path prefix workaround #11295
- Delete rw_semaphore.wait_lock configure check #11309
- Fix optional "force" arg handing in zfs_ioc_pool_sync() #11281 #11284
- CI: add new zfs-tests-sanity workflow #11304
- ZTS: zpool_trim tests throttle trim process #11296
- Reduce fletcher4 and raidz benchmark times #11282
- ZTS: adjust zpool_import_012_pos timeout #11286
- ZTS: Update zfs_share_concurrent_shares.ksh #11283
- Add sanity.run file #11271
- Fix trivial typo in zfs-diff.8 #11268 #11272
- Fix for "Reduce latency effects of non-interactive I/O" #11261
- Reduce latency effects of non-interactive I/O #11166
- Add compatibility for busybox mktemp #11269
- FreeBSD: notify userspace when a vdev is removed #11260
- Make zpool status "remove:" label print in bold #11255
- CI: simplify checkstyle runner #11262
- ZED/zfs-list-cacher.sh: don't exit on ignored event type #11164 #11247