It was recently decided that FreeBSD’s ZFS file-system support would be re-based atop ZFS On Linux. That new “ZFS On BSD” implementation based on ZOL continues moving along and it’s now easier to test thanks to iX Systems and their TrueOS platform.
With the ZFS On Linux code-base being more actively maintained and improved upon than the OpenZFS support within the Illumos kernel, FreeBSD developers are working on merging their “ZOB” changes with ZOL.
Interesting to see that the Linux implementation sees more active development than the original one – although not entirely surprising.
>> Interesting to see that the Linux implementation sees more active development than the original one
This maillist link[1] pretty much explains why they have created the ZOF as a fork of ZOL, and why they will try to create common objects between operating systems while having some OS specific bits on those repos. It also explains the caveats that the project have from importing ZFS sources from IllumOS.
[1]- https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072422.html
It’s not so much that the Linux version sees more development, but that it takes too long to get things pushed upstream into illumos-gate. illumos-gate was supposed to be the definitive ZFS repo, where all “official” features would reside and then flow from there to the downstream implementations. Each project could develop their own features in their own repos, then push those upstream to illumos-gate where they would then get imported into the other projects. But it was taking months and months to get things approved for inclusion into illumos-gate; hence the switch of repos.
This will still be done under of the OpenZFS umbrella. They’re just switching illumos-gate repo out and replacing it with the ZFS-in-Linux repo. That will become the root of the source tree, which will then be split into OS-independent code and OS-dependent directories for each of the OSes (Linux, FreeBSD, Illumos/OpenIndiana, MacOS X, Windows, etc).
There’s still features that the current FreeBSD version of ZFS has that are missing from ZoL (like proper TRIM support, NFSv4 ACLs, and all the GEOM capabilities and abstractions); and there are features in ZoL that are missing from ZoF (native encryption being the big one). Until there is feature parity between the current ZFS in FreeBSD and ZoF, there won’t be a switch. FreeBSD 12 will include the current ZFS code. FreeBSD 13-CURRENT may include both ZFS stacks for awhile. No definitive plans for what FreeBSD 13.0 will include.
The monthly ZFS management meetings are interesting to watch, and the minutes provide interesting information and links to other documents. It seems (to this outsider) that more has happened in the past 3 months since this was originally brought to the table than in the previous few years. Will be an interesting 2019, that’s for sure.
https://docs.google.com/document/d/1w2jv2XVYFmBVvG1EGf-9A5HBVsjAYoLIFZAnWHhV-BM/edit?ts=5bff343a#
And the of the bugfixes/race conditions that never got commited to Illumos and reached ZOL as it matured and passed OpenZFS on features, as said by Allan Jude – https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072430.html
But most important is: almost all of the guys that were working on Illumos ZFS(and FreBSD + TrueOS), will be a part of OpenZFS(the umbrella project) and thus, colaborate to make this filesystem happen on multi-os level.
>>It’s not so much that the Linux version sees more development, but that it takes too long to get things pushed upstream into illumos-gate
But that is the point. Whenever you have a project that lags behind on implementing things, the other similar one will gain positions on this healthy market that it is the opensource world competition.
What would be of GCC if LLVM doesn’t show up and make them stop being so bureaucratic on it’s development model?
In case anyone wants some back story:
https://illumos.topicbox.com/groups/developer/Td3185838722eb01a/wakeup