Skip to content

Releases: openzfs/zfs

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

zfs-0.8.6

14 Dec 21:11
zfs-0.8.6
Compare
Choose a tag to compare

This is a tiny release primarily intended to get zfs-0.8-release building again on Centos 8.3 (since we don't provide zfs-2.0.0 RPMs for Centos 8.3 in our main branch yet). It also includes all the patches that were in the zfs-0.8.6-staging branch.

Supported Kernels

  • Compatible with 2.6.32 - 5.9 Linux kernels

Changes

  • Restore ARC MFU/MRU pressure #10548 #10618
  • Linux 5.10 compat: check_disk_change() removed #11085
  • Linux 5.10 compat: frame.h renamed objtool.h #11085
  • blkg_tryget config test: initialize struct #10713 #11049
  • copy-builtin: make sure kernel Makefiles don't look in zfs source tree
  • copy-builtin: don't create sed backup files
  • copy-builtin: remove .gitignore from KERNEL_DIR/include/zfs
  • Increase Supported Linux Kernel to 5.9 (#11057)
  • Bump META Linux-Maximum to kernel 5.8 (#11019)

OpenZFS 2.0.0

30 Nov 21:41
zfs-2.0.0
Compare
Choose a tag to compare

Supported Platforms

  • Unified code base and documentation - The ZFS on Linux project has been renamed OpenZFS! Both Linux and FreeBSD are now supported from the same repository making all of the OpenZFS features available on both platforms. #8987

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

Major New Features

  • Sequential resilver - The sequential resilver feature can rebuild a failed mirror vdev in a fraction of the time it would take a traditional healing resilver. Full redundancy is restored as quickly as possible and then the pool is automatically scrubbed to verify all of the data checksums. #10349

  • Persistent L2ARC - This feature makes the L2ARC cache device persistent across reboots thereby eliminating the usual cache warmup time normally needed after importing your pool. #9582

  • ZStandard compression - ZStandard is a modern, high performance, general compression algorithm which provides similar or better compression levels to GZIP, but with much better performance. ZStandard provides a large selection of compression levels to allow a storage administrator to select the preferred performance/compression trade-off. #10278

  • Redacted zfs send/receive - Redacted streams allow users to send subsets of their data to a target system. This allows users to save space by not replicating unimportant data within a given dataset or to selectively exclude sensitive information. #7958

Changes to the zpool/zfs Commands

  • zpool replace|attach -s - Perform a sequential resilver when replacing or attaching a new vdev. #10349

  • zfs wait, zpool wait - Wait for long running background operations to complete (resilver, scrub, trim, etc). #9707 #9162

  • zfs redact, zfs send --redact - Generate a redacted send stream. #7958

  • zfs send --saved - Allows a user to send a partially received dataset. #9007

  • zfs jail, zfs unjail - Attaches and detaches ZFS filesystems from FreeBSD jails. #10658

  • zfs rename -u - Renames a filesystem without needing to remount. #10839

  • zfs umount -u - Unloads keys for an encrypted filesystem when it is unmounted. #8952

  • zfs bookmark fs#target fs#newbookmark - Copying an existing bookmark to a new name. #9571

Notable Changes

  • Added fallocate(mode-0/2) compatibility to preallocate space. #10408

  • Reorganized the zfs and zpool man pages by splitting out each subcommand in to its own page. #9559 #9564

  • Enabled the systemd zfs-mount-generator by default on Linux. #7329 #8848

  • More relevant and useful ZED syslog entries #10967 #10861

  • Provided pam module for automatically loading zfs encryption keys for home datasets. #9903

  • Support for inheriting and setting user properties in channel programs. #9738 #9950

  • Improved bootloader support. #10009 #8627 #10937

  • Optionally colorized zpool status output. #9340

Performance

Deprecated functionality

  • Deduplicated send streams have been deprecated. The zfs send -D command will now print a warning, ignore the -D flag, and generate a regular (non-deduplicated) send stream. A zfs receive of a deduplicated send stream will print an error message and fail. Legacy deduplicated send streams can be received by first converting them to a non-deduplicated stream with the zstream redup command. #10117 #10156

  • The dedupditto pool property has been deprecated. It may still be set with zpool set dedupditto but won't have any effect. OpenZFS is still compatible with existing pools that have the dedupditto property enabled and can understand dedupditto blocks and free them when appropriate. However, OpenZFS won't write any new dedupditto blocks. #8310

  • The zfs_vdev_scheduler module option can still be set but will have no effect. Linux users who require this functionality should update their systems to set the disk scheduler using a udev rule. #9609

Additional Information

  • Documentation - Updated OpenZFS documentation for Linux and FreeBSD.

  • Change log - Complete v0.8.0 - v2.0.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:
    • l2arc_meta_percent - Percent of ARC size allowed for L2ARC-only headers
    • l2arc_mfuonly - Cache only MFU data from ARC into L2ARC
    • l2arc_rebuild_blocks_min_l2size - Min size in bytes to write rebuild log blocks in L2ARC
    • l2arc_rebuild_enabled - Rebuild the L2ARC when importing a pool
    • l2arc_trim_ahead - TRIM ahead L2ARC write size multiplier
    • metaslab_unload_delay - Delay in txgs after metaslab was last used before unloading
    • metaslab_unload_delay_ms - Delay in milliseconds after metaslab was last used before unloading
    • vdev_file_logical_ashift - Logical ashift for file-based devices
    • vdev_file_physical_ashift - Physical ashift for file-based devices
    • zfetch_max_idistance - Max bytes to prefetch indirects for per stream
    • zfs_allow_redacted_dataset_mount - Allow mounting of redacted datasets
    • zfs_arc_evict_batch_limit - The number of headers to evict per sublist before moving to the next
    • zfs_arc_eviction_pct - When full, ARC allocation waits for eviction of this % of alloc size
    • zfs_arc_shrinker_limit - Limit on number of pages that ARC shrinker can reclaim at once
    • zfs_fallocate_reserve_percent - Percentage of length to use for the available capacity check
    • zfs_history_output_max - Maximum size in bytes of ZFS ioctl output that will be logged
    • zfs_initialize_chunk_size - Size in bytes of writes by zpool initialize
    • zfs_keep_log_spacemaps_at_export - Prevent the log spacemaps from being flushed and destroyed during pool export/destroy
    • zfs_livelist_condense_new_alloc - Whether extra ALLOC blkptrs were added to a livelist entry while it was being condensed
    • zfs_livelist_condense_sync_cancel - Whether livelist condensing was canceled in the synctask
    • zfs_livelist_condense_sync_pause - Set the livelist condense synctask to pause
    • zfs_livelist_condense_zthr_cancel - Whether livelist condensing was canceled in the zthr function
    • zfs_livelist_condense_zthr_pause - Set the livelist condense zthr to pause
    • zfs_livelist_max_entries - Size to start the next sub-livelist in a livelist
    • zfs_livelist_min_percent_shared - Threshold at which livelist is disabled
    • zfs_max_async_dedup_frees - Max number of dedup blocks freed in one txg
    • zfs_max_log_walking - The number of past TXGs that the flushing algorithm of the log spacemap feature uses to estimate incoming log blocks
    • zfs_max_logsm_summary_length - Maximum number of rows allowed in the summary of the spacemap log
    • zfs_max_nvlist_src_size - Maximum size in bytes allowed for src nvlist passed with ZFS ioctls
    • zfs_metaslab_max_size_cache_sec - How long to trust the cached max chunk size of a metaslab
    • zfs_metaslab_mem_limit - Percentage of memory that can be used to store metaslab range trees
    • zfs_min_metaslabs_to_flush - Minimum number of metaslabs to flush per dirty TXG
    • zfs_rebuild_max_segment - Max segment size in bytes of rebuild reads
    • zfs_recv_queue_ff - Receive queue fill fraction
    • zfs_recv_write_batch_size - Maximum amount of writes to batch into one transaction
    • zfs_send_no_prefetch_queue_ff - Send queue fill fraction for non-prefetch queues
    • zfs_send_no_prefetch_queue_length - Maximum send queue length for non-prefetch queues
    • zfs_send_queue_ff - Send queue fill fraction
    • zfs_unflushed_log_block_max - Hard limit (upper-bound) in the size of the space map log in terms of blocks.
    • zfs_unflushed_log_block_min - Lower-bound limit for the maximum amount of blocks allowed in log spacemap (see zfs_unflushed_log_block_max)
    • zfs_unflushed_log_block_pct - Tunable used to determine the number of blocks that can be used for the spacemap log, expressed as a percentage of the total number of metaslabs in the pool (e.g. 400 means the number of log blocks is capped at 4 times the number of metaslabs)
    • zfs_unflushed_max_mem_amt - Specific hard-limit in memory that ZFS allows to be used for unf...
Read more