Slashdot Mirror


ZFS On Linux - It's Alive!

lymeca writes "LinuxWorld reports that Sun Microsystem's ZFS filesystem has been converted from its incarnation in OpenSolaris to a module capable of running in the Linux user-space filsystem project, FUSE. Because of the license incompatibilities with the Linux kernel, it has not yet been integrated for distribution within the kernel itself. This project, called ZFS on FUSE, aims to enable GNU/Linux users to use ZFS as a process in userspace, bypassing the legal barrier inherent in having the filesystem coded into the Linux kernel itself. Booting from a ZFS partition has been confirmed to work. The performance currently clocks in at about half as fast as XFS, but with all the success the NTFS-3g project has had creating a high performance FUSE implementation of the NTFS filesystem, there's hope that performance tweaking could yield a practical elimination of barriers for GNU/Linux users to make use of all that ZFS has to offer."

12 of 281 comments (clear)

  1. Why not in the kernel? by seanadams.com · · Score: 5, Insightful

    The in-kernel vs userland distinction has always struck me as quite arbitrary. So in one case you're linked at compile time and in another case you compile them separately and go through system calls. Why should that make one of them a derivative work and the other not? In either case the file system can be taken out and you still have a perfectly functional kernel that can run other file systems. Same goes for graphics drivers.

    The GPL doesn't attempt to codify all the intricate details that it would take to define such a distinction in the license. It's only described as an accepted rule of thumb in the FAQ. So what's the deal? It seems like this rule is really holding back some commercial support for Linux - is the current situation what we really want, and at any rate how did we get here? Would we be better off if such a separable, non-essential feature could be linked in somehow instead of needing to be put behind extra layers of abstraction?

    1. Re:Why not in the kernel? by TeknoHog · · Score: 3, Insightful

      The in-kernel vs userland distinction has always struck me as quite arbitrary. So in one case you're linked at compile time and in another case you compile them separately and go through system calls. Why should that make one of them a derivative work and the other not?

      I agree the kernel vs. userland issue is arbitrary. However, think about all the closed-source software running on Linux, or opensource with other licenses but GPL v2. These are legally possible only because we make the distinction.

      --
      Escher was the first MC and Giger invented the HR department.
    2. Re:Why not in the kernel? by Paul+Jakma · · Score: 3, Insightful

      It has been decided that the deciding factor with the GPL is whether or not something links to it.

      This is absolutely not true. "It has been decided": When? By whom? This claim is not only unfounded, it is also quite false (just ask a lawyer..).

      The parent absolutely should NOT be modded as informative.

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
    3. Re:Why not in the kernel? by jimicus · · Score: 4, Insightful

      Alright then, how about "The de-facto understanding is..."?

      The existence of the LGPL goes some way to suggesting that this indeed is the generally accepted understanding. It's not been codified in any legal judgement that I'm aware of, but that's only becaue there have been relatively few legal judgements worldwide on this particular aspect of the GPL. Most breaches seem to be far more flagrant.

    4. Re:Why not in the kernel? by BrainInAJar · · Score: 3, Insightful

      "Because the CDDL was deliberately made incompatible with the GPL, that's why. Also ask Sun about the needless patents they seem to want to hold on ZFS."

      The CDDL is more or less the exact same license Firefox or Apache are under. Sun has a lot of ISV's and IHV's that want to be able to write code ( storage drivers, for example ) that can link against the Solaris kernel without having a team of lawyers analyze to see if it's okay.

      It wasn't chosen to be incompatible with the GPL, it was chosen to provide some of the same protections ( share my code... ) without being incompatible with other licenses.

      As for the patents, ask IBM how many patents they've got expressed in Linux

      "People could still write non-GPL drivers for Solaris regardless. I take that to mean you don't understand the meaning of a GPL compatible license."

      You can't link to GPL'ed code with an incompatible license. Hypothetically if EMC or Symantec wanted to write a closed-source driver for this hypothetical GPL Solaris, they'd have to pull an nVidia ( which is a lot of effort for purely non-technical reasons ), or stop supporting the platform.

      Would that really be in Sun's best interests, if I(S|H)V's stopped supporting them?

    5. Re:Why not in the kernel? by afidel · · Score: 3, Insightful

      Constant changes in and out of kernel space are never good for overall system performance.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  2. Re:It's time for Sun by AKAImBatman · · Score: 4, Insightful

    They also have co-opted gnome

    By "co-opted" I presume you mean, "Made major contributions to"?
  3. Re:It's time for Sun by PygmySurfer · · Score: 4, Insightful

    Let's find a way to settle these license issues. ZFS looks to be great innovation, but Sun appears to be playing license games with the express purpose of keeping Linux at bay.

    Sorry, it's Linux that's playing the license games, not Sun. One only needs to look at ZFS support in FreeBSD to see that (Speaking of, where's the 'ZFS On FreeBSD!' story?).

    The GPL "everything under our license" philosophy is the sole cause of these so-called "license issues". If Linux wants to use Sun's code, why should Sun have to release it under Linux' license?

  4. Why the big deal about booting from it? by pair-a-noyd · · Score: 3, Insightful

    Really? Stick an old 20gb drive in as your boot drive and boot from whatever you have to to get up and going, load ZFS modules, mount all drives and enjoy. What's so terrible about booting from a different drive / file system? Most mobos now let you hang boatloads of drives of all types on them.
    I can't think of any reason why it would be so terrible to boot up from an old 20gb with ext2/ext3 or anything else, then run the rest of your system under whatever. I'm doing that now anyway, I boot from ext2 then everything else is ext3. Doesn't make my performance suffer any that I can tell.

    Besides, I suspect that most people that would run ZFS are the type of people that leave their machines up for months at a time. In that case, why the panic attacks over booting issues?

    I hope they can find some way to resolve the license issues, I'm excited about ZFS (in concept and theory) and I would love to give it a go. Finally a system that's up with the times.

  5. Re:It's time for Sun by jimwelch · · Score: 4, Insightful

    Everyone that has a license is "playing the game". That is required by most copyright laws. The only truly free software is in public domain, the downside to PD is code confiscation that is possible. BSD, GPL, M$ all use a license with restrictions. A restriction limits one or more freedoms. You have to choose which freedom to give up.

    --
    Never trust a man wearing a coat and tie!
  6. Re:It's time for Sun by PygmySurfer · · Score: 3, Insightful

    ZFS is on OpenSolaris and Sun has claimed to be considering GPL for OpenSolaris. Are they, or aren't they? On top of that, the FSF has muddied the waters through their activity on the GPLv3, further complicating the entire issue.

    I don't care if Sun says they're considering GPLing OpenSolaris, ZFS, or anything else for that matter. The poster I replied to accused Sun of keeping ZFS from Linux by not GPLing it - when it's the goddamn GPL that Linux uses that is preventing the inclusion of ZFS!

    I don't think you can blame the whole situation on Linux's use of the GPL, which is not coincidentally the reason why many people contributed to Linux. Given that Linux is today considerably ahead of all BSDs in most ways, I think adoption of the GPL is likely the only reason Linux is here today.

    I'm not sure how Linux can be ahead of the BSDs, as Linux is just a kernel, while the BSDs are entire operating systems. But let's say you were referring to Linux distributions being "considerably ahead" - I've never seen this. I've always found the BSD's to be elegant systems to work on, and Linux systems to be a mess (I unfortunately have to admin hundreds of Linux boxes at work). Linux supposedly has better driver support, yet I've always found FreeBSD supports my hardware just fine (and for many things, like wireless drivers, I've found the BSDs to have better supprt than Linux). Linux may perform a bit better in some instances, but IMHO the negligible performance gains aren't worth the aggravation.

    Finally, if you don't care about software freedom, and only your freedom, why don't you go run BSD, and stop complaining about Linux?

    I use FreeBSD on my personal server, and I believe BSD code to be more free than GPL code, but that's irrelevant. Frankly, I'm sick of the Linux community telling everyone else what to do with THEIR code. Besides, you can hardly call my post a complaint - if anyone was complaining, it was the original post I replied to.

  7. Re:Parts of ZFS already GPLv2'd by thesandbender · · Score: 4, Insightful

    Lets be more specific... ZFS (as a whole) is not GPLv2'd.

    From the TFP : Now about that headline, yes I really did say that ZFS code is already available under the GPLv2. I will be completely honest though and make it clear that it isn't all of the ZFS source.

    Well that's fantastic... which parts do we get? The ones that make ZFS revolutionary or the ones that make it a rehashed XFS, JFS, Rieser, etc? I don't see how this is any different than any of the bait-n-switch scams that people post to /., digg or other sites. Yes... you can use "part" of the FS but if you want the whole thing you'll have to use Solaris or FUSE (or BSD as others have pointed out).

    FUSE defeats the entire purpose. ZFS is meant to run and support a large/huge file store. What admin in their right mind would do that through userspace unless it's solely for backup?

    The point is, ZFS is not functionally viable for Linux on the environments for which it was intended.