Uh, no. ZFS may be mature ***ON SOLARIS***, but it is very new/buggy/immature and in need of TONS of work before it even remotely begins to approach ANY semblance of maturity on Linux.
Originally Posted by Markore
BTRFS has the same characteristics, but is FAR FAR MORE MATURE on Linux.
It makes no difference if the filesystem is mature on solaris. This has no relation to its level of maturity on linux.
You can use NTFS to compare. One could consider that NTFS was mature all the way back in 1993. Linux kernel 2.2 had the beginnings of NTFS support starting in 1999 -- was it suddenly a good idea to run your enterprise linux servers on NTFS all the way back in 1999? NTFS-3G wasn't considered stable (aka "safe") until 2007 -- 14 years after NTFS was introduced, and yet people STILL don't put their enterprise linux servers on that filesystem TODAY.
Must remember that it is a different platform. You can't just magically and instantly dump in code and expect it to work the same as what its emulating. It takes years to work out the bugs and stabilize it. Why go to all the trouble for ZFS when we have BTRFS that is so much closer to being enterprise ready? Even major distros like Fedora are talking about making BTRFS into the default filesystem for new installations AS SOON AS AUTUMN THIS YEAR. I would imagine that if this happens and works out, the next version of RHEL will follow in a few years -- that will be enterprise linux servers on BTRFS, well before ZFS is even ready for bleeding edge distros.
Nonsense. Nearly all the code is identical between the two. "Porting to linux" is simply plumbing it all into the linux kernel infrastructure. This isn't insubstantial, because many kernel behaviours do not match Solaris. But the core ZFS code is taken directly from upstream and its maturity CAN be inferred.
Originally Posted by droidhacker
BTRFS is (in the early stages of) being written from scratch. NONE of it is proven. This is what will take years.
The ZFS "plumbing" needs to mature, admitted. As you say, you can't dump in code and expect it to just work. But this part is a tiny fraction of the complexity of ZFS itself, such that it seems a single full-time person plus occasional volunteers are getting it done in a reasonable amount of time.
Last edited by Wingfeather; 06-21-2011 at 08:44 AM.
That's bull. There's a lot more than just plumbing.
Originally Posted by Wingfeather
Really? I follow the mailing list and the bug tracker closely and nearly all the traffic there is finding ways to match Solaris behaviour with linux behaviour.
The biggest barrier to ZFS adoption on Linux in particular is that you can't distribute a Linux kernel containing a mix of GPL'ed code and CDDL'ed code. You can build such a kernel for yourself or for your company, and that's fine, but as soon as you transmit binaries to another party, you've violated the GPL.
The BSDs don't have this issue; AFAIK you can chuck CDDL'ed code straight into a BSD kernel. So the fully open-source platform most likely to succeed OpenSolaris as the home of ZFS is actually going to be one of the BSDs; my guess is FreeBSD. A ground-up clean room implementation of ZFS licensed under the GPL2 or MIT/X11 license would be required to get ZFS accepted into the upstream Linux kernel. And until/unless it goes upstream, most of the important Linux distributions that count (as far as user adoption and/or commercial success) will not ship it.
The most likely place for ZFS to see any adoption at all on Linux is with Gentoo. If I understand the legal contracts we call licenses (IANAL), the distribution method of Gentoo uses (or abuses) a convenient loophole in the GPL. Essentially, the CDDL'ed ZFS code can be shipped in alongside GPL'ed Linux code without any legal conflict, as long as CDDL'ed ZFS binaries aren't shipped as a derivative work of GPL'ed Linux binaries. So I think the Gentoo project would be within its rights to distribute a ZFS module ebuild.
Still, Gentoo is an enthusiast distro; it definitely does not represent any sort of majority of users. Right now that majority would be RHEL, Ubuntu, Fedora, and OpenSUSE.
Maybe those are just the first steps to make it fully working on Linux (by fully I mean features)? Maybe then it will have to match the performance and stability compared to ZFS on solaris?
Originally Posted by Wingfeather
I think so, yes. At this point, it really is about making things work correctly. I've no idea how much work there is to do in performance tuning. Probably loads. Brian does say that none has been done at this point - all efforts are very much on hooking things up properly. That said, performance isn't that bad.
Originally Posted by kraftman
As for stability, with luck, the linux-specific parts of the code will hopefully mature quite quickly. From reading the list, it appears that the relevant differences between Linux and Solaris' kernel are becoming quite well understood, so hopefully the number of Gotcha's will start decreasing.