Skip to content

v1.10.0

Choose a tag to compare

@whoschek whoschek released this 15 Mar 00:19
· 1561 commits to main since this release

This release contains some fixes and a lot of new features, including ...

  • Improved compat with rsync.net.
  • Added daemon support for periodic activities every N milliseconds, including for taking snapshots, replicating and pruning.
  • Added the bzfs_jobrunner companion program, which is a convenience wrapper around bzfs that simplifies periodically creating ZFS snapshots, replicating and pruning, across source host and multiple destination hosts, using a single shared jobconfig script.
  • Added --create-src-snapshots-* CLI options for efficiently creating periodic (and adhoc) atomic snapshots of datasets,
    including recursive snapshots.
  • Added --delete-dst-snapshots-except-plan CLI option to specify retention periods like sanoid, and prune snapshots accordingly.
  • Added --delete-dst-snapshots-except CLI flag to specify which snapshots to retain instead of which snapshots to delete.
  • Added --include-snapshot-plan CLI option to specify which periods to replicate.
  • Added --new-snapshot-filter-group CLI option, which starts a new snapshot filter group containing separate --{include|exclude}-snapshot-* filter options, which are UNIONized.
  • Added anytime and notime keywords to --include-snapshot-times-and-ranks.
  • Added all except keyword to --include-snapshot-times-and-ranks, as a more user-friendly filter syntax to say "include all snapshots except the oldest N (or latest N) snapshots".
  • Log pv transfer stats even for tiny snapshots.
  • Perf: Delete bookmarks in parallel.
  • Perf: Use CPU cores more efficiently when creating snapshots (in parallel) and when deleting bookmarks (in parallel) and on --delete-empty-dst-datasets (in parallel)
  • Perf/latency: no need to set up a dedicated TCP connection if no parallel replication is possible.
  • For more clarity, renamed --force-hard to --force-destroy-dependents. --force-hard will continue to work as-is for now, in deprecated status, but the old name will be completely removed in a future release.
  • Use case-sensitive sort order instead of case-insensitive sort order throughout.
  • Use hostname without domain name within --exclude-dataset-property.
  • For better replication performance, changed the default of bzfs_no_force_convert_I_to_i form false to true. If ZFS complains with a "cannot hold: permission denied" error, then the fix is for the ZFS administrator to grant ZFS 'hold' permission to the user on the source datasets, like so: 'sudo zfs allow -u $SRC_USER send,hold tank1/foo'. Or run with 'export bzfs_no_force_convert_I_to_i=false'. Also see openzfs/zfs#16394
  • Fixed "Too many arguments" error when deleting thousands of snapshots in the same 'zfs destroy' CLI invocation.
  • Make 'zfs rollback' work even if the previous 'zfs receive -s' was interrupted.
  • Skip partial or bad 'pv' log file lines when calculating stats.
  • For the full list of changes, see v1.9.0...v1.10.0