Skip to content

Releases: openzfs/zfs

OpenZFS 2.1.0-rc7

11 Jun 01:20
zfs-2.1.0-rc7
Compare
Choose a tag to compare
OpenZFS 2.1.0-rc7 Pre-release
Pre-release

Supported Platforms

  • Linux: compatible with 3.10 - 5.12 kernels
  • FreeBSD: FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • Re-embed multilist_t storage #12158
  • dracut: 90zfs: respect zfs_force=1 on systemd systems #11403 #12195
  • Remove pool io kstats #12212
  • Added error for writing to /dev/ on Linux #11991
  • libzfs: format safety #12116
  • zgenhostid.8: revisit #12196
  • Consistentify miscellaneous style on remaining manpages #12196
  • Move properties, parameters, events, and concepts around manual sections #12149 #12196
  • man: use one Makefile, use OpenZFS for .Os #12196
  • Fix minor shellcheck 0.7.2 warnings #12208
  • zed.d/history_event-zfs-list-cacher.sh.in: parallelise, simplify #12042
  • zed.d/all-debug.sh: simplify #12042
  • zed-functions.sh: zed_lock(): don't truncate lock #12042
  • libzfs: On FreeBSD, use MNT_NOWAIT with getfsstat #12091
  • Modernise/fix/rewrite unlinted manpages #12169
  • Force --enable-debug on FreeBSD if INVARIANTS is set #12185 #12163
  • Livelist logic should handle dedup blkptrs #11480 #12177
  • More aggsum optimizations #12145
  • libzfs: write_inuse_diffs_one: format strerror() with "%s" #12197
  • i-t: don't try to import from empty cache #12108
  • Use %%/* instead of awk -F/ {print $1} to strip datasets #12108
  • dracut: 90zfs: zfs-load-key: don't load unencrypted bootfs' keylocation #11800 #12108
  • dracut: 90zfs: module-setup: try /lib*/libgcc_s.so*, relax /u/l/gcc path #11750 #12108
  • Let zfs diff be more permissive #12072
  • FreeBSD: incorporate changes to the VFS_QUOTACTL(9) KPI #12052
  • Fix error check in nvlist_print_json_string #12175 #12176
  • Lint most manpages #12129
  • mancheck: accept lints, accept lint overrides #12129
  • Linux: Set spl_kmem_cache_slab_limit when page size !4K #12152 #11429 #11574 #12150
  • A couple of small style cleanups #12156
  • zfs-module-parameters.5: remove nonexistent parameters #12157
  • spl-module-parameters.5: remove spl_kmem_cache_{expire,obj_per_slab_min} #12157
  • Quick fixes for two ZTS failures #12165
  • Added another missed case to arc_summary3 #12160
  • FreeBSD boot code reminder after zpool upgrade #12099 #12104
  • Remove iov_iter_advance() for iter_write #11378 #12041 #12155
  • Turn checkbashisms into a make target #12101
  • Turn shellcheck into a normal make target. Fix new files it caught #10512 #12101
  • udev/rules.d: .gitignore: glob all rules #12101
  • i-t: don't suggest zpool-import with altroot to /root #12148
  • i-t: let rootdelay= set $ZFS_INITRD_PRE_MOUNTROOT_SLEEP #11663 #12148
  • zstream: force-install zstreamdump link #12143
  • Widen mancheck to all of man and test-runner #12125
  • test-runner.1: modernise #12125
  • zfs-events.5: modernise #12125
  • vdev_id.conf.5: modernise #12125
  • man: use Nm/Cm/Fl consistently #12125
  • zed.8: modernise #12125
  • cstyle.1: modernise #12125
  • vdev_id.8: modernise, note scsi topology #12125
  • zhack.1: modernise #12125
  • zpool_influxdb.8: modernise #12125
  • zinject.8: modernise #12125
  • raidz_test.1: modernise #12125
  • zpoolprops.8: fix spacing in ashift #12125
  • fsck.zfs.8: modernise #12125
  • arcstat.1: modernise #12125
  • ztest.1: modernise #12125
  • zgenhostid.8: use single-line indent macro for single-line examples #12125
  • long options for ztest #12117
  • Don't direct to freenode in issue template #12127
  • Introduce write-mostly sums #12114
  • Improve scrub maxinflight_bytes math. #12046
  • etc/systemd/zfs-mount-generator: output tweaks #11915
  • etc/systemd/zfs-mount-generator: rewrite in C #11917
  • zstreamdump: replace with link to zstream #12015
  • d/zfsutils.zfs.init derivatives: shellcheck, fix header #12042
  • contrib/bash_completion.d: fix obvious shellcheck problems #12042
  • zgenhostid: use argument path directly #12042
  • Trim excess shellcheck annotations. Widen to all non-Korn scripts #12042
  • Fix SC2181 ("[ $?") outside tests/ #12042
  • i-t: rewrite hooks #12017
  • dracut/90/module-setup: mainly shellcheck cleanup #11956

The majority of the above changes are documentation updates or minor cleanup.

OpenZFS 2.1.0-rc6

28 May 17:58
zfs-2.1.0-rc6
Compare
Choose a tag to compare
OpenZFS 2.1.0-rc6 Pre-release
Pre-release

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

11 May 00:27
zfs-2.1.0-rc5
Compare
Choose a tag to compare
OpenZFS 2.1.0-rc5 Pre-release
Pre-release

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

23 Apr 03:06
zfs-2.1.0-rc4
Compare
Choose a tag to compare
OpenZFS 2.1.0-rc4 Pre-release
Pre-release

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

15 Apr 01:05
zfs-2.1.0-rc3
Compare
Choose a tag to compare
OpenZFS 2.1.0-rc3 Pre-release
Pre-release

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

07 Apr 21:35
zfs-2.1.0-rc2
Compare
Choose a tag to compare
OpenZFS 2.1.0-rc2 Pre-release
Pre-release

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

30 Mar 00:23
zfs-2.1.0-rc1
Compare
Choose a tag to compare
OpenZFS 2.1.0-rc1 Pre-release
Pre-release

Supported Platforms

  • Linux: compatible with 3.10 - 5.11 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

New Features

  • Distributed Spare (dRAID) Feature #10102
  • Added "compatibility" property for zpool feature sets #11468
  • Added zpool_influxdb command to collect zpool statistics #10786

OpenZFS 2.0.4

09 Mar 18:30
zfs-2.0.4
Compare
Choose a tag to compare

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

11 Feb 20:47
zfs-2.0.3
Compare
Choose a tag to compare

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

01 Feb 19:11
zfs-2.0.2
Compare
Choose a tag to compare

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