Skip to content


Choose a tag to compare
@tonyhutter tonyhutter released this 02 Jul 18:34
· 709 commits to zfs-2.1-release since this release

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


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