• zfs-2.2.0 95785196f2

    zfs-2.2.0 Stable

    behlendorf released this 2023-10-12 23:30:16 +00:00 | 307 commits to zfs-2.2-release since this release

    Supported Platforms

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

    New Features

    • Block cloning (#13392) - Block cloning is a facility that allows a file (or parts of a file) to be "cloned", that is, a shallow copy made where the existing data blocks are referenced rather than copied. Later modifications to the data will cause a copy of the data block to be taken and that copy modified. This facility is used to implement "reflinks" or "file-level copy-on-write". Many common file copying programs, including newer versions of /bin/cp on Linux, will try to create clones automatically.

    • Linux container support (#12209, #14070, #14097, #12263) - Added support for Linux-specific container interfaces such as renameat(2), support for overlayfs, idmapped mounts in a user namespace, and namespace delegation support for containers.

    • Scrub error log (#12812, #12355) - zpool status will report all filesystems, snapshots, and clones affected by a shared corrupt block. zpool scrub -e can be used to scrub only the known damaged blocks in the error log to perform a fast, targeted repair when possible.

    • BLAKE3 checksums (#12918) - BLAKE3 is a modern cryptographic hash algorithm focused on high performance. It is much faster than sha256, sha512, and can be up 3x faster than Edon-R. BLAKE3 is the recommended secure checksum.

    • Corrective "zfs receive" (#9372) - A new type of zfs receive which can be used to heal corrupted data in filesystems, snapshots, and clones when a replica of the data already exists in the form of a backup send stream.

    • Vdev properties (#11711) - Provides observability of individual vdevs in a programmatic way.

    • Vdev and zpool user properties (#11680) - Lets you set custom user properties on vdevs and zpools, similar to the existing zfs dataset user properties.

    Performance

    • Fully adaptive ARC (#14359) - A unified ARC which relaxes the artificial limits imposed by both the MRU/MFU distribution and data/metadata distinction. This allows the ARC to better adjust to highly dynamic workloads and minimizes the need for manual workload-dependent tuning.

    • SHA2 checksums (#13741) - Optimized SHA2 checksum implementation to use hardware acceleration when available.

    • Edon-R checksums (#13618) - Reworked the Edon-R variants and optimized the code to make several minor speed ups.

    • ZSTD early abort (#13244) - When using the zstd compression algorithm, data that can not be compressed is detected quickly, avoiding wasted work.

    • Prefetch improvements (#14603, #14516, #14402, #14243, #13452) - Extensive I/O prefetching analysis and optimization.

    • General optimization (#14121, #14123, #14039, #13680, #13613, #13606, #13576, #13553, #12789, #14925, #14948) - Numerous performance improvements throughout.

    Additional Information

    • Documentation - OpenZFS documentation for Linux and FreeBSD.

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

      Thanks to 202 contributors
       git shortlog -s  zfs-2.1.0..zfs-2.2.0
       639  Ahelenia Ziemiańska
         1  Aidan Harris
         5  Akash B
        10  Alan Somers
         1  Alejandro Colomar
         2  Alek Pinchuk
         4  Aleksa Sarai
         8  Alexander Lobakin
       126  Alexander Motin
        22  Allan Jude
         2  Alyssa Ross
        23  Ameer Hamza
         1  Andrea Gelmini
         2  Andrea Righi
         1  Andreas Vögele
         4  Andrew Innes
         1  Andrew Turner
         3  Andrew Walker
         4  Andriy Gapon
         1  Anton Gubarkov
         6  Antonio Russo
         1  Armin Wehrfritz
         3  Arshad Hussain
         1  Arun KV
        22  Attila Fülöp
         1  Benedikt Neuffer
         1  Brandon Thetford
         8  Brian Atkinson
       183  Brian Behlendorf
        16  Brooks Davis
         1  Charles Suh
         3  Chris Lindee
         1  Chris Zubrzycki
        12  Christian Schwarz
         6  Chunwei Chen
         1  Clemens Lang
        26  Coleman Kane
         3  Colm Buckley
         2  D. Ebdrup
        40  Damian Szuberski
         1  Damiano Albani
         1  Daniel Berlin
         1  Daniel Hiepler
         1  Daniel Kolesa
         1  Daniel Reichelt
         1  Daniel Stevenson
         1  David Hedberg
         1  Dimitri John Ledkov
         3  Dimitry Andric
         1  Dmitri John Ledkov
         3  Don Brady
         1  Doug Rabson
         1  Edmund Nadolski
         1  Ethan Coe-Renner
         6  Fedor Uporov
         1  Felix Dörre
         4  Finix Yan
         1  Francesco Mazzoli
        36  George Amanakis
        20  George Melikov
         7  George Wilson
         2  Georgy Yakovlev
         1  Gian-Carlo DeFazio
         4  Gionatan Danti
         1  Glenn Washburn
         1  Gordon Bergling
         1  Graham Perrin
         3  Gregory Bartholomew
         1  Han Gao
         1  Harald van Dijk
         1  Harry Sintonen
         1  Herb Wartens
         2  InsanePrawn
         1  Jason Harmening
         1  Jason King
         1  Jeremy Visser
         4  Jitendra Patidar
         1  John Poduska
         8  John Wren Kennedy
         1  Jonathon Fernyhough
        24  Jorgen Lundman
         1  José Luis Salvador Rufo
         1  Julian Brunner
         6  Justin Gottula
         1  Justin Hibbits
         2  Ka Ho Ng
         3  Kay Pedersen
         1  Kevin Bowling
         4  Kevin Jin
         1  Kristof Provost
         1  Krzysztof Piecuch
         3  Kyle Evans
         1  Laevos
         2  Laura Hild
         1  Laurențiu Nicola
         1  Lauri Tirkkonen
         1  Luís Henriques
         2  Manoj Joseph
         1  Marcel Menzel
         1  Marcin Skarbek
         4  Mariusz Zaborski
        20  Mark Johnston
         1  Mark Maybee
         7  Martin Matuška
         2  Martin Rüegg
        23  Mateusz Guzik
         6  Mateusz Piotrowski
         1  Matt Fiddaman
        12  Matthew Ahrens
         1  Matthew Thode
         1  Matthias Blankertz
         1  Max Zettlmeißl
         1  Michael Franzl
         1  Michal Vasilek
         3  Mike Swanson
         1  Minsoo Choo
         1  Mohamed Tawfik
         1  Nathaniel Wesley Filardo
         1  Neal Gompa (ニール・ゴンパ)
         1  Nick Terrell
         2  Olaf Faaland
         1  Pablo Correa Gómez
         1  Palash Gandhi
        31  Paul Dagnelie
         5  Paul Zuchowski
         1  Pavel Snajdr
        21  Pawel Jakub Dawidek
         2  Peter Levine
         1  Phil Kauffman
         1  Philipp Riederer
         2  Ping Huang
         1  Piotr Kubaj
         2  Piotr P. Stefaniak
         2  Prakash Surya
         1  Rafael Kitover
         1  Reno Reckling
         2  Riccardo Schirone
        83  Rich Ercolani
         1  Richard Laager
       197  Richard Yao
        40  Rob Norris
        11  Rob Wing
         1  Roberto Ricci
         1  Romain Dolbeau
         1  Ryan Hirasaki
         1  Ryan Lahfa
        88  Ryan Moeller
         1  Sam Hathaway
         1  Sam James
         1  Samuel Wycliffe
         1  Samuel Wycliffe J
         1  Satadru Pramanik
         5  Savyasachee Jha
         1  Scott Colby
         1  Sean Eric Fagan
        11  Serapheim Dimitropoulos
         1  Shaan Nobee
         4  Stoiko Ivanov
         1  Stéphane Lesimple
         2  Teodor Spæren
         1  TerraTech
         1  Till Maas
         1  Timothy Day
        37  Tino Reichardt
         2  Tomohiro Kusumi
        25  Tony Hutter
         1  Tony Nguyen
         6  Toomas Soome
         1  Toyam Cox
         1  Trevor Bautista
        16  Umer Saleem
         8  Val Packett
         1  Valmiky Arquissandas
         3  Vince van Oosten
         1  Violet Purcell
         1  Vipin Kumar Verma
         1  Volker Mauel
         2  Václav Skála
         9  WHR
         1  Walter Huf
         1  Will Andrews
         1  Windel Bouwman
         1  Wojciech Małota-Wójcik
         2  Xinliang Liu
         1  Yann Collet
         1  Yanping Gao
        13  Youzhong Yang
         4  Yuri Pankov
         1  Zach Dykstra
         1  Zhu Chuang
         1  buzzingwires
         2  chrisrd
         1  grembo
         1  hedong zhang
         1  hping
         1  illiliti
         1  jokersus
         1  jumbi77
         1  naivekun
         1  ofthesun9
         1  omni
         1  Érico Nogueira
      
    • 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.

      New module options
      Removed module options
      Modified module options
    Downloads