OpenZFS 2.0 comes with support for FreeBSD, zstd and more

After a year and a half of development, OpenZFS 2.0 project launched which develops the implementation of the ZFS file system for Linux and FreeBSD.

The project became known as "ZFS on Linux" and previously it was limited to developing a module for the Linux kernel, but after the transfer of support for FreeBSD, it was recognized as the main OpenZFS implementation and it was removed from the mention of Linux in the name. All ZFS development activity for Linux and BSD systems is now concentrated in one project and developed in a common repository.

OpenZFS already used in the FreeBSD upstream (HEAD) and is included with Debian, Ubuntu, Gentoo, Sabayon Linux, and ALT Linux distributions. Packages with the new version will soon be ready for all major Linux distributions, including Debian, Ubuntu, Fedora, RHEL / CentOS.

In FreeBSD, the code is synchronized with the OpenZFS code base current. OpenZFS has been tested with Linux kernels 3.10 to 5.9 (kernels compatible with the latest version 2.6.32) and the FreeBSD 12.2, stable / 12 and 13.0 (HEAD) branches.

About OpenZFS

OpenZFS provides an implementation of the components of ZFS related to both the file system and the volume manager. In particular, the following components are implemented: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) and ZPL (ZFS POSIX Layer).

In addition, the project oIt offers the ability to use ZFS as a backend for the Luster clustered file system. Project work is based on original ZFS code imported from the OpenSolaris project and enhanced with enhancements and fixes from the Illumos community. The project is being developed with the participation of personnel from the Livermore National Laboratory under contract with the United States Department of Energy.

The code is distributed under the free CDDL license, which is incompatible with GPLv2, which does not allow to integrate OpenZFS into the upstream Linux kernel, since it is not allowed to mix code under GPLv2 and CDDL licenses. To address this licensing incompatibility, it was decided to distribute the entire product under the CDDL license as a separate downloadable module that ships separately from the kernel. The stability of the OpenZFS codebase is considered comparable to other FS for Linux.

Main new features of OpenZFS 2.0

Of the main changes, the one that stands out the most is support for the FreeBSD platform and the code base is unified to support different operating systems. All related changes with FreeBSD are now being developed in the main OpenZFS repository and this project is considered the primary implementation of ZFS for future versions of FreeBSD.

Besides that moving FreeBSD to OpenZFS removed many of the race conditions and locking issues, and brought new features to FreeBSD, such as an extended quota system, dataset encryption, separate allocation classes, use of vector processor instructions to speed up RAIDZ implementation and checksum calculations, support for the ZSTD compression algorithm, multiple host mode (MMP, Multiple Modifier Protection), and improved command line tools.

Another important change is that sequential execution mode was implemented of the "resilver" command (sequential resilver), which reconstructs the data distribution taking into account changes in the drive configuration.

The new way allows rebuilding a failed vdev mirror much faster than a traditional recoverer: first, the lost redundancy in the array is restored as quickly as possible, and only then is the "cleanup" operation automatically started to verify all data checksums. The new mode starts when you add or replace a drive with the commands «zpool replace | attach "with the" -s "option.

It was implemented a persistent second-level cache (L2ARC), in which data from a device attached for caching is saved between system reboots, that is, the cache after startup remains "hot" and performance immediately reaches nominal values, bypassing the initial cache fill phase.

Added support for the zstd compression algorithm (Zstandard), which demonstrates 3-5 times faster compression speed compared to zlib / Deflate and twice faster decompression, while improving compression level by 10-15%.

Besides that provide various levels of compression, They offer a different balance between compression efficiency and performance.


The content of the article adheres to our principles of editorial ethics. To report an error click here!.

Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *



  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.