Skip to content

Releases: openzfs/zfs

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

OpenZFS 2.0.1

06 Jan 18:17
zfs-2.0.1
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

  • 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