Skip to content

Releases: openzfs/zfs

zfs-2.0.6

22 Sep 23:18
zfs-2.0.6
Compare
Choose a tag to compare

Supported Platforms

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

Changes

  • Linux 5.15 compat: get_acl() #12548
  • Linux 5.15 compat: standalone <linux/stdarg.h> #12531
  • Linux 5.15 compat: block device readahead #12532
  • Linux 5.14 compat: META #12565
  • Linux 5.13 compat: META
  • FreeBSD: Ignore make_dev_s() errors #12375
  • FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+ #12378
  • FreeBSD: Retry OCF ENOMEM errors. #12077
  • Livelist logic should handle dedup blkptrs #11480 #12177
  • Linux 5.14 compat: explicity assign set_page_dirty #12427
  • Add SIGSTOP and SIGTSTP handling to issig #11801
  • Linux 5.14 compat: blk_alloc_disk() #12362 #12409
  • Initialize dn_next_type[] in the dnode constructor #12383
  • Zero pad bytes following TX_WRITE log data #12383
  • Zero pad bytes when allocating a ZIL record #12383
  • Initialize all fields in zfs_log_xvattr() #12383
  • file reference counts can get corrupted #12299
  • Revert Consolidate arc_buf allocation checks #11531 #12227
  • Fix unfortunate NULL in spa_update_dspace #12380 #12428
  • Tinker with slop space accounting with dedup #12271
  • Add upper bound for slop space calculation #11023

Note:

We had to re-push the zfs-2.0-release branch and zfs-2.0.6 tag after mistakenly leaving out some commits (see #12582). RPMs, release notes and tarballs already had the correct commits, and were unaffected.

OpenZFS 2.1.1

16 Sep 17:56
zfs-2.1.1
Compare
Choose a tag to compare

Supported Platforms

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

Changes

  • Fixed data integrity issue when underlying disk returns error #12391 #12443
  • ZTS: Waiting for zvols to be available #12553
  • Verify embedded blkptr's in arc_read() #12535
  • Linux 5.15 compat: get_acl() #12548
  • Allow sending corrupt snapshots even if metadata is corrupted #12541
  • arc: Drop an incorrect assert #9897 #12020 #12246
  • Compressed receive with different ashift can result in incorrect PSIZE on disk #12522 #8462
  • Linux 5.15 compat: standalone <linux/stdarg.h> #12531
  • Linux 5.15 compat: block device readahead #12532
  • Detect iSCSI in the zpool cmd vdev media script #12206
  • CI: don't install abigail-tools #12529
  • Update ABI files via new libabigail version #12529
  • Libabigail: make .abi files more consistent #12529
  • CI: use fresh libabigail via docker image #12529
  • Check for libabigail version #12529
  • ZTS: Remove exceptions for flaky zhack on FreeBSD #12527
  • FreeBSD: Don't remove SA xattr if not SA znode #12514
  • Fix cross-endian interoperability of zstd #12008 #12022
  • ZTS: Waiting for zvols to be available #12515
  • Correct checking bdev_check_media_change message #12492
  • Make 'zpool labelclear -f' work on offlined disks #12511
  • vdev_id: Return an error if config file is not found #12486
  • zpool-remove.8: describe top-level vdev sector size limitation #11339 #12472
  • Initialize parity blocks before RAID-Z reconstruction benchmarking #12473
  • ZTS: Add tests for creation time #12432
  • Linux 4.11 compat: statx support #8507
  • zfs.4: Fix typo s/compatiblity/compatibility/ #12464
  • Remove b_pabd/b_rabd allocation from arc_hdr_alloc() #12398
  • Optimize arc_l2c_only lists assertions #12421
  • Fix/improve dbuf hits accounting #12422
  • Avoid vq_lock drop in vdev_queue_aggregate() #12297
  • Use more atomics in refcounts #12420
  • ZTS: Avoid unset $tmpdir in redacted_panic #12455
  • Restore FreeBSD sysctl processing for arc.min and arc.max #12161
  • zfs: add missed dependency of zfs module on zlib #12442
  • Add zfs.sh -r flag to reload modules #12450
  • Fix usage of find in tests/Makefile.am #12453
  • Run arc_evict thread at higher priority #12397
  • Make get_key_material_file fail more verbosely #12410
  • Enable /proc/diskstats for zvols #12440 #12066
  • Man zpool-scrub.8: describe sequential scrub #12429
  • Modify checksum obtain method of QAT #12343
  • Allow disabling of unmapped I/O on FreeBSD #12446
  • Add comment on metaslab_class_throttle_reserve() locking #12419
  • Assorted fixes for the performance tests #12408
  • Read past end of argv array in zpool_do_import() #12339
  • Add missing properties to zfs allow manpage #12402
  • Fixes in persistent L2ARC #12365
  • Initialize dn_next_type[] in the dnode constructor #12383
  • Zero pad bytes following TX_WRITE log data #12383
  • Zero pad bytes when allocating a ZIL record #12383
  • Initialize all fields in zfs_log_xvattr() #12383
  • Initialize "autoreplace" in spa_ld_get_props() #12383
  • Linux 5.14 compat: explicity assign set_page_dirty #12427
  • Fix unfortunate NULL in spa_update_dspace #12380 #12428
  • Linux 5.14 compat: blk_alloc_disk() #12362 #12409
  • zloop: Add a max iterations option, use default run/pass times #12411
  • FreeBSD: Ignore make_dev_s() errors #12375
  • Remove old orig_fd variable from zfs send #12404
  • Optimize allocation throttling #12314
  • CI: generate ABI files if changed #12379
  • Minor ARC optimizations #12348
  • dmu_redact.c does not call bqueue_destroy #12118
  • A few fixes of callback typecasting (for the upcoming ClangCFI) #12260
  • Remove unused fields from zvol_task_t #12361
  • FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+ #12378
  • zpool_influxdb: fix -Werror=stringop-truncation #12344
  • Correct zfs-send(8) on readonly sends #12336
  • Introduce dsl_dir_diduse_transfer_space() #12300
  • config/libatomic: require -latomic iff atomic.c doesn't link w/o it #12345 #12359
  • Tinker with slop space accounting with dedup #12271
  • Fix ARC ghost states eviction accounting #12279
  • Update bug report template #12340
  • file reference counts can get corrupted #12299
  • dprintf_dnode: strcpy -> strlcpy #12311
  • Replace strchrnul() with strrchr() #12312
  • FreeBSD: Use unmapped I/O for scattered/gang ABD buffers #12320
  • FreeBSD: Hardcode abd_chunk_size to PAGE_SIZE #12328
  • Move gethrtime() calls out of vdev queue lock #12281
  • Use substantially more robust program exit status logic in zvol_id #12302
  • Print zvol_id error messages to stderr rather than stdout #12302
  • Udev rules: use match (==) rather than assign (=) for PROGRAM #12302
  • Udev rules: replace deprecated $tempnode with $devnode #12302
  • Udev rules: use non-ancient comma syntax #12302
  • Compact dbuf/buf hashes and lock arrays #12289
  • Fix abd leak, kmem_free correct size of abd_t #12295
  • Upstream: dmu_zfetch_stream_fini leaks refcount #12294
  • ZED: Match added disk by pool/vdev GUID if found (#12217)
  • Optimize small random numbers generation #12183
  • FreeBSD: Implement xattr=sa #11997
  • FreeBSD: Clean up ASSERT/VERIFY use in module #11971

zfs-2.1.0

02 Jul 18:34
zfs-2.1.0
Compare
Choose a tag to compare

Supported Platforms

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

Major New Features

  • Distributed Spare RAID (dRAID) - Create pools using a new distributed variant of RAIDZ which enables dramatically faster resilver times using integrated hot spares. Full redundancy can be restored to the pool in a fraction of the time normally required to do a full disk replacement. #10102

  • Compatibility Property - The new compatibility property lets administrators specify the set of features which should be enabled on the pool. This fine grained control makes it easy to create portable pools and maintain pool compatibility between OpenZFS versions and across platforms. #11468 #11861

  • InfluxDB Support - Collect pool statistics with the zpool influxdb command in an InfluxDB time-series database for analysis and monitoring. #10786

Changes to the zpool / zfs commands

  • zpool create -u - Prevent filesystems from being automatically mounted. #11254

  • zpool history -i - Pool history now includes how long each command took for performance analysis. #11440

  • zpool status - Informs users of any disks which are using a non-optimal block size. #11088

  • zfs send --skip-missing|-s - Skip missing snapshots when sending replication streams. #11710

  • zfs rename -u - Rename a filesystem without remounting. #10839

Notable Changes

  • Extensive modernization of the man pages. #12125 #12129 #12149 #12169 #12212

  • Updated vdev_id to support daisy-chained JBODs in multipath mode. #11526

  • Updated arcstat with new L2ARC statistics and added -a (all) and -p (parsable) command line options. #10743

  • Support for memory and CPU hotplugging. #11212

  • Renamed acltype=posixacl to acltype=posix, an alias was added for compatibility. #10918

  • Added automated ABI validation for public library interfaces. #11287

  • Added sysctl for fletcher4 on FreeBSD #11270

Performance

Additional Information

  • Documentation - Updated OpenZFS documentation for Linux and FreeBSD.

  • Change log - Complete v2.0.0 - v2.1.0 change log

  • Module options - The default values for the module options were selected to yield good performance for the majority of workloads and configurations. They should not need to be tuned for most systems but are available for performance analysis and tuning. See the module parameters documentation for the complete list of the options and what they control.

Added/removed/renamed module options
  • Added:
    • zfs_embedded_slog_min_ms - Minimum number of metaslabs required to dedicate one for log blocks
    • zfs_metaslab_find_max_tries - Normally only consider this many of the best metaslabs in each vdev
    • zfs_metaslab_try_hard_before_gang - Try hard to allocate before ganging
    • zfs_rebuild_scrub_enabled - Automatically scrub after sequential resilver completes
    • zfs_rebuild_vdev_limit - Max bytes in flight per leaf vdev for sequential resilvers
    • zfs_traverse_indirect_prefetch_limit - Traverse prefetch number of blocks pointed by indirect block
    • zio_taskq_batch_tpq - Number of threads per IO worker taskqueue
  • Removed:
    • zfs_zevent_cols - Max event column width
    • zfs_zevent_console - Log events to the console

OpenZFS 2.1.0-rc8

29 Jun 21:37
zfs-2.1.0-rc8
Compare
Choose a tag to compare
OpenZFS 2.1.0-rc8 Pre-release
Pre-release

Supported Platforms

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

Changes

  • Linux 5.13 compat: META
  • zed: fix sending emails #12292
  • Avoid 64bit division in multilist index functions #12288
  • Fix plymouth passphrase prompt with dracut #12147
  • Fix build with KASAN #12232
  • Help compiller optimize out abd_verify() #12280
  • Update cache file when setting compatibility property #12261 #12276
  • Fix flag copying in resume case #12266
  • zfs_metaslab_mem_limit should be 25 instead of 75 #12273
  • Stop using "zstreamdump" in tests/ #12277
  • Update libera webchat client URL #12251
  • gcc 11 cleanup #12130 #12188 #12237
  • ZTS: Add known exceptions #12272
  • Annotated dprintf as printf-like #12233
  • Revert Consolidate arc_buf allocation checks #11531 #12227
  • Use wmsum for arc, abd, dbuf and zfetch statistics. #12172
  • libspl: implement atomics in terms of atomics #11904 #12252 #12244
  • Avoid deadlock when removing L2ARC devices under I/O #12054
  • systemd: import: expand $ZPOOL_IMPORT_OPTS correctly #12231
  • vdev_draid_min_asize() ignores reserved space #11459 #12221
  • Do not hash unlinked inodes #9741 #11223 #11648 #12210
  • Added uncompress requirement #12071 #1268
  • ZTS: Add zfs_clone_livelist_dedup.ksh to Makefile.am #12224

zfs-2.0.5

23 Jun 21:21
zfs-2.0.5
Compare
Choose a tag to compare

Supported Platforms

  • Linux: compatible with 3.10 - 5.12 kernels
  • FreeBSD: Release 12.2, stable/12, 13.0 (HEAD)

Changes

  • Avoid deadlock when removing L2ARC devices under I/O #12054
  • Do not hash unlinked inodes #9741 #11223 #11648 #12210
  • FreeBSD: incorporate changes to the VFS_QUOTACTL(9) KPI #12052
  • FreeBSD: use vnlru_free_vfsops if available #11881
  • cppcheck: integrete cppcheck #11508
  • Simple change to fix building in recent environments #12059
  • ZTS: pool_state test check for pool existence in cleanup #11534
  • Fix zfs_get_data access to files with wrong generation #10593 #11682
  • zfs_vnops: make zfs_get_data OS-independent #10979
  • Consolidate zfs_holey and zfs_access #11125
  • zed: reap child after killing on time-out #11769 #11798
  • Fix error code on __zpl_ioctl_setflags() #11791
  • Fix typo in zgenhostid.8 #11770
  • Linux: always check or verify return of igrab() #11704
  • Linux: Set spl_kmem_cache_slab_limit when page size !4K #12152 #11429 #11574 #12150
  • Fix zfs_get_data access to files with wrong generation #10593 #11682
  • Fix dmu_recv_stream test for resumable #12034
  • Remove iov_iter_advance() for iter_write #12041 #12155
  • linux 5.13 compat: bdevops->revalidate_disk() removed (#12122) #11967 #11977
  • Bend zpl_set_acl to permit the new userns* parameter #12076 #12093
  • Update tmpfile() existence detection
  • RPM: Explicitly set the required min/max kernel version for the DKMS package #12124
  • Linux 5.12 update: bio_max_segs() replaces BIO_MAX_PAGES #11765
  • Linux 5.12 compat: idmapped mounts #11712
  • FreeBSD: Initialize/destroy zp->z_lock #12003
  • ZTS: Fix xattr_002_neg passing too soon #11970
  • zdb: ASSERT issues when DEBUG is not defined #11932
  • ZTS: Add known exceptions #11949
  • 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
  • Fixed incorrect man page reference in zfsprops(8) #11918
  • freebsd/libshare: nfs: make nfs_is_shared() thread-safe #11886
  • libshare: nfs: don't leak nfs_lock_fd when lock fails #11886
  • libzfs: refresh property cache after inheriting userprop #11064 #11911
  • libzfs: don't mark prompt+raw as retriable #11911 #11031
  • Combine zio caches if possible #11877
  • Fix crash in zio_done error reporting #11872 #11896
  • Fix 'make checkbashisms` warnings #11902
  • Fix vdev health padding in zpool list -v #11899
  • libzfs: zfs_mount_at(): load key for encryption root if MS_CRYPT #11870 #11875
  • ZTS: fix removal_condense_export test case #11869
  • 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
  • zfprops(8): fix spacing in jailed= arguments #11866
  • zfs-[un]jail(8): fix "zfs-jail [un]jail" leftovers #11866
  • ZTS: Improve cleanup in removal_with_export #11856
  • ZTS: Tests using zhack may fail on FreeBSD #11855
  • Ratelimit deadman zevents as with delay zevents #11786
  • 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
  • ZTS: inheritance/inherit_001_pos is flaky #11830
  • Avoid taking global lock to destroy zfsdev state #11751
  • FreeBSD: Fix stable/12 after AT_BENEATH removal #11827
  • 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
  • Fix regression in POSIX mode behavior #11760
  • ZTS: New test for kernel panic induced by redacted send #11764
  • Allow setting bootfs property on pools with indirect vdevs #11763
  • FreeBSD: make seqc asserts conditional on replay #11739
  • FreeBSD: Fix memory leaks in kstats #11767
  • Hold and release permissions exist #11727
  • ZTS: Add tests for DOS mode attributes #11734
  • ZTS: Fix incorrect use of libtest in user_run by xattr_003_neg #11185
  • ZTS: Use ksh and current environment for user_run #11185
  • FreeBSD: bring back possibility to rewind the checkpoint from bootloader #11730
  • FreeBSD: Clean up zfsdev_close to match Linux #11720
  • FreeBSD: switch teardown lock to rms #11153
  • Macroify teardown lock handling #11153
  • FreeBSD: rename teardown inactive macros to mimick rrm convention #11153
  • FreeBSD: remove 2 assertions that teardown lock is not held #11153
  • FreeBSD: rework asserts in zfs_dd_lookup #11153
  • Add branch prediction to ZFS_ENTER and ZFS_VERIFY_ZP macros #11153
  • zpool import cachefile improvements #11716
  • Fix whitespace introduced in ecc277c #11722
  • FreeBSD: Fix scope of deadman tunables #11715
  • Microoptimizations for VERIFY() and friends #11708
  • Add missing files to Makefile #11705
  • CI checkstyle: pin ubuntu version #11713
  • ZTS events_002: Improve speed and reliability #11703
  • zvol: call zil_replaying() during replay #11667
  • ZTS: Improve cleanup in zpool tests #11694
  • Cancel TRIM / initialize on FAULTED non-writeable vdevs #11588
  • ZTS: zpool_trim_start_and_cancel_pos.ksh #11649
  • Fix overly broad locking in spa_vdev_config_exit() #11585
  • Wrap bare EINVAL returns with SET_ERROR #11636

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