non-FUSE ZFS linux kernel module?

john4200

[H]ard|Gawd
Joined
Oct 16, 2009
Messages
1,537
Someone claiming to be from KQ Infotech is saying that they will release a beta version of a linux kernel module that implements ZFS for linux without using FUSE, around Sep 15. Sounds good, if true, but it also sounds kind of fishy. I'm not sure why they have been so secretive about the source code, and what ulterior motives they might have. Or whether the person is actually from KQ Infotech.

http://www.phoronix.com/scan.php?page=article&item=zfs_linux_coming&num=1
 
people who work on something dont have to be secretive for you to not know about it, they just have to be working and not talking
 
people who work on something dont have to be secretive for you to not know about it, they just have to be working and not talking

It is not typically the way things work in the Linux ecosystem. There's not really any obvious incentive to doing things this way (assuming they're not going to try to productize it, but I think CDDL prevents that, don't know the license), so folks are a bit wary of their true motivation for it. From the tone on the Phoronix thread, it sounded like they were going to sell it as a closed source product, but the last few posts suggest source will be available, so who knows what they're doing. It does smell a bit funny for the time being.
 
So this is yet another port...
Due to license incompatibilities, KQ's ZFS will not make its way into the Linux kernel nor will distribution vendors pick it up. Anyone wanting to use this as a root file-system would need to take numerous additional steps with building their own kernel and managing the installation.
Instead of that government project which also focusses on a kernel-level implementation.

John, have you considered FreeBSD? If you insist on Linux, you would have to wait awhile for ZFS. Even if its available with a new port; that port will be in its infant stages, untested and unstable; would you trust your data to it without a thought? Think again, ZFS is a complex system, and it is highly recommended to use sourcecode which has been decently tested by a large group of people. I believe FreeBSD's implementation is just that; it's on par with Solaris and should be very stable and usable on production boxes.

If you are looking for a good ZFS port to Ubuntu, then the kFreeBSD project might also be of hope, as it can just import the same mature ZFS implementation available in FreeBSD, to Ubuntu OS. Currently ZFS is not part of kFreeBSD, though. But this likely would be very useful as you would import a mature implementation, not some hasty port.

Still look forward to the new port; and of course benchmarks. :)
 
So this is yet another port...

Instead of that government project which also focusses on a kernel-level implementation.

John, have you considered FreeBSD? If you insist on Linux, you would have to wait awhile for ZFS. Even if its available with a new port; that port will be in its infant stages, untested and unstable; would you trust your data to it without a thought? Think again, ZFS is a complex system, and it is highly recommended to use sourcecode which has been decently tested by a large group of people. I believe FreeBSD's implementation is just that; it's on par with Solaris and should be very stable and usable on production boxes.

If you are looking for a good ZFS port to Ubuntu, then the kFreeBSD project might also be of hope, as it can just import the same mature ZFS implementation available in FreeBSD, to Ubuntu OS. Currently ZFS is not part of kFreeBSD, though. But this likely would be very useful as you would import a mature implementation, not some hasty port.

Still look forward to the new port; and of course benchmarks. :)

I don't disagree with you on the code maturity issue - for storage servers I prefer win rather than milk. :)

However, FreeBSD woefully lags behind linux in device driver support. FreeBSD 9 will be better in that way than the past, but a lot of server vendors offer linux support and not for FreeBSD. If ZFS were fully supported on Linux, that would be the ideal world in my opinion.
 
FreeBSD's bad hardware support is mostly from pre 8.0-age. 8.0 and up do fairly good in device support, though yes it lags behind Linux as it got a lot more users and developers.

But with recent new drivers like the new ahci driver, you have something that works across all AHCI-capable disk controllers. These are improvements FreeBSD needed badly. Also, many onboard NICs were unsupported due to unimplemented PHY. Some clever Asian person worked on that a long time and implemented many of the missing PHYs.

Thus, FreeBSD's hardware support is improving. Not as bad as Solaris, for example. And consider what you need working: acpi, serial ata and network should be your core devices which need support.

FreeBSD 9 is still a long way in the future before it releases. But it may have the first 20+ ZFS implemented imported, eventually. I already built my Mesa project with 9-CURRENT to test it, currently its at ZFS v15; same as Solaris.

Edit: i forgot to ask, any hardware support in particular that is missing in your case?
 
Yeah... No thanks to FreeBSD. Also, this is not a thread about FreeBSD.

I am looking forward to this support. The only negative point that I see is that it's not based on the most current ZFS pool version...

Both GPL and CDDL do not allow you to use the code without making your own code available, so it would not be legal for it to be closed-source. If they do it right, it's going to be legal. Modules do not have to be subject to the same license as the software they support. They just can't be. It would be like saying any DLL file that Windows can use is subject to Microsoft's licensing terms, or that using a DLL in Windows subjects Windows to the license terms of the DLL.
 
Instead of that government project which also focusses on a kernel-level implementation.

I'm not sure what you mean. There is little difference between a kernel module and kernel-embedded code. When you compile a kernel, you can choose whether code gets included as a module or embedded.

People would need to download the source code and compile it themselves, since CDDL precludes distributing it with GPL linux software.

Although perhaps only binary kernel modules will be available? I'm not sure if the CDDL allows binaries to be distributed without making source code available.
 
CDDL does not allow that. I read it earlier. Source must be provided.

The module can legally be distributed as a separate package through package managers of various distributions. It does not necessarily even have to be compiled by the end user. I would imagine that it can even come with a distribution as long as the code is kept physically separate from the kernel, but just happens to be compatible ;). But that is where it seems to be a grey area so I can't say that for sure.
 
From Wikipedia:

A native port of ZFS for Linux is being worked on. This ZFS on Linux port was produced at the Lawrence Livermore National Laboratory (LLNL) under Contract No. DE-AC52-07NA27344 (Contract 44) between the U.S. Department of Energy (DOE) and Lawrence Livermore National Security, LLC (LLNS) for the operation of LLNL. It has been approved for release under LLNL-CODE-403049. It does not yet implement ZPL layer, thus it's not possible to use it as a filesystem.

Another native port is also being worked on by KQ Infotech [1]. No code has been released yet.

The first was the 'government funded port' that i was referring to. That used to compile CDDL code in a kernel module so it would not mix with GPL code; and according to them that was legal. So CDDL code can be built in a module. That's also what FreeBSD does: zfs.ko depends on opensolaris.ko which implies CDDL license.
 
Back
Top