A few days ago the developers in charge of the FreeBSD project submitted a translation plan for the ZFS file system used in the implementation project for the "ZFS on Linux" project (ZoL), which is developing the ZFS port for Linux.
The reason for the migration is the stagnation of the ZFS codebase from the Illumos project (fork of OpenSolaris), which was previously used as the basis for transferring ZFS-related changes to FreeBSD.
Table of Contents
About Us ZFS
ZFS is a file system and volume manager originally developed by Sun Microsystems for your Solaris OS. The original meaning was 'Zettabyte File System', but it is now a recursive acronym.
ZFS stands out for its large capacity, integration of previously separate file system and volume manager concepts into a single product, new framework on disk, lightweight file systems, and easy storage space management.
Until very recently, Most of the ZFS-related development was produced by the "ZFS on Linux" project and the Delphix company.
The company develops the Delphix DelphixOS operating system (fork of Illumos) which previously provided ZFS support in the Illumos codebase.
The development of ZFS will migrate to Linux
A few months ago (at the beginning of the year), Delphix announced the transition to the implementation of "ZFS on Linux", which finally brought all ZFS-related activity into one place.
Of the ongoing and monitored ZFS projects, only “ZFS on Linux” remains, which can now be considered the primary OpenZFS implementation.
Since the implementation of ZFS by Illumos is already lagging significantly behind "ZFS on Linux" in terms of functionality.
The FreeBSD developers have realized that the FreeBSD community is not strong enough to maintain and develop the existing code base on its own.
If you continue to use Illumos, the functionality gap will only increase and patch transfer will require more and more resources.
Rather than trying to stick with Illumos, the ZFS support team at FreeBSD decided to accept "ZFS on Linux" as the main ZFS development project, direct existing resources to increase the portability of their code, and use their code base. as the basis of the ZFS implementation for FreeBSD.
FreeBSD support will be integrated directly into the "ZFS on Linux" code and will be developed primarily in this project's repositories (the issue of joint development in a single repository has already been agreed with Brian Behlendorf, ZFS project leader on Linux).
Why Linux and not continue on FreeBSD?
Today, a prototype of the "ZFS on Linux" port for FreeBSD has already been prepared for review.
To integrate it into the FreeBSD codebase, it remains to add several new features to the opencrypto framework.
To combine the port with the main code base "ZFS on Linux", they should add FreeBSD support to the continuous integration system, ensure that the code passes all tests, and perform additional quality tests.
The replacement of the ZFS implementation in the FreeBSD codebase is scheduled for April 15, if it has been two months since the port stabilized (otherwise the deadline will be changed).
In the future, for three months, the old and new versions of ZFS will coexist, after which the old Illumos-based ZFS code will be removed.
Of the new functionality that is available in the ZoL port for FreeBSD, but not in the Illumos ZFS implementation, there is multihost mode (MMP, multi-modifier protection), advanced quota system, dataset encryption, separate selection of block assignment classes. lessons).
The use of vector processor instructions to speed up RAIDZ implementation and calculate checksums, improved command line tools.
ZoL also fixes many bugs related to race conditions and hangs, which are still uncorrected in the Illumos code.