Wandering Thoughts archives

2012-12-27

Why I somewhat irrationally have a distrust of ZFS on Linux

By now there are a number of ways to run ZFS on Linux (for example here as a native kernel module and here as a user-level component connected to the kernel with FUSE). All such efforts are separate projects with no prospect of that ever changing because ZFS's CDDL license is fundamentally incompatible with the Linux kernel's GPLv2 licensing.

(Theoretically Oracle could decide to relicense ZFS. The odds of that happening appear to be very low.)

I'm not really interested in running important production filesystems through FUSE, which leaves ZFS kernel modules. I'm not fundamentally opposed to running out of kernel modules in production and in fact our iSCSI server software is an example of it. Despite this, the idea of ZFS on Linux makes me fundamentally nervous precisely because of the out of kernel issue. Put simply, I worry about ZFS on Linux projects being able to attract people who are familiar enough with the Linux kernel to do a good job of the kind of deep integration that ZFS needs. Because of ZSF's issues, you automatically lose all kernel hackers who care enough about kernel licensing issues or who feel relatively strongly about their work being included in the main kernel. You're left with kernel hackers who're willing to work on a license-incompatible project that will never be integrated, and my presumption is that there are not very many really good kernel hackers who meet this description.

(You can presumably get more such kernel hackers if you can pay them, but then that puts a ZFS on Linux project at the mercy of continuing funding.)

Initially I was going to be more pessimistic and strong about this than I am now. What happened is that when I started to write this entry, I pulled the git repo for ZFS on Linux and started looking at 'git log'. Development is very active and it seems to be done by people who know what they're doing. A lot depends on the project lead (and thus funding from LLNL) and the project is not mature yet, but those aren't risks that worry me; we'd almost certainly look at the project only after it had stabilized. If it never stabilizes because it loses development funding and developers, oh well so be it.

I'm not entirely happy with the situation, though. I still think that ZFS on Linux's perpetual outsider status makes me less confident about it than either an Illumos-derived distribution or FreeBSD, where ZFS is or seems to be an active part of the core development. It's possible that ZFS on Linux will prove to have sufficient extra advantages to overcome this, but I'm dubious.

Sidebar: ZFS on Linux ZFS version information

This is not mentioned in the zfsonlinux.org web pages, at least not that I could find. ZFS on Linux is at zpool version 28, which is the same as the current Illumos version (and also FreeBSD and OpenSolaris). Solaris 10 update 8 plus patches (what we're currently running) is at version 15. Oracle Solaris 11 seems to be at (their) version 32.

At this point, ZFS feature flags (see the comments here) do seem to be in Illumos (and FreeBSD?) but aren't yet in ZFS on Linux. However, the ZFS on Linux developers are working on this; given their pace of development, I suspect that support will appear relatively soon in an official release.

linux/ZFSonLinuxDistrust written at 02:00:46; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.