Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

ZFS On Linux - It's Alive!

Posted by Zonk on Tue Jun 19, 2007 02:47 PM
from the insert-mad-science-laugh-here dept.
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."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by seanadams.com (463190) * on Tuesday June 19 2007, @02:48PM (#19568473) Homepage
    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?
    • by TeknoHog (164938) on Tuesday June 19 2007, @02:57PM (#19568627) Homepage Journal

      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.

    • by LWATCDR (28044) on Tuesday June 19 2007, @03:01PM (#19568675) Homepage Journal
      I am not a kernel hacker but I believe you are confusing loadable kernel modules with user space code.
      I am pretty sure that kernel modules run at the kernel level and can access all the same structures that a driver compiled into the kernel can.
      FUSE file systems run at the same privilege level as a user program does. In theory it is a slower but more robust system. If a FUSE file system crashes you can just restart the filesystem and remount the drive. If a kernel level file system crashes it can cause a kernel panic and bring down the entire system.
      So the distinction between user-land and kernel drivers is anything but arbitrary.

    • by notamisfit (995619) on Tuesday June 19 2007, @03:26PM (#19569017)

      The version of the GPL included with the Linux kernel states at the top:

      • NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work".

      Not sure how far back this clarification really goes, but I think it predates the GPLv2-only one, making it at least six years old.

        • by BrainInAJar (584756) on Tuesday June 19 2007, @03:25PM (#19568981)
          How is it Sun's fault that the GPL is incompatible with anything other than itself?

          The Right Thing(tm) is to keep the license as it is. It ensures the Solaris code has to be shared (like the GPL), but doesn't pollute source code around it ( GPL - viral clause = CDDL. Same license as firefox, or apache)

          Linux wanting to pillage from the project isn't a good enough reason to make it impossible for people to write non-GPL drivers for Solaris
                • by BrainInAJar (584756) on Tuesday June 19 2007, @05:26PM (#19571009)
                  or they could avoid the hassle of managing a dual licensed project & the inevitable GPL-only fork ( what happens if someone wants to import a driver from linux? that's an instant fork ) by keeping the perfectly-fine license they have right now

                  relicensing Solaris as GPL is entirely unnecessary and doesn't help Sun or Solaris at all... the only people it helps is Linux, and that shouldn't be the primary concern of OpenSolaris.

                  If OpenSolaris happens to help Linux, great, but it shouldn't hurt itself & go out of it's way to do it
        • by jimicus (737525) on Tuesday June 19 2007, @03:39PM (#19569249) Homepage
          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.
          • by Per Abrahamsen (1397) on Tuesday June 19 2007, @03:58PM (#19569595) Homepage
            The FSF has used the syscall interface as a guideline to determine whether something is a derived work or not. It is a guideline, not a hard rule though, and I suspect they would consider user-space ZFS for a derived work using a technical trick to avoid being linked into the kernel. I.e. infringing. However, since the FSF doesn't own the kernel, their opinion on the subject doesn't matter.
            • by Paul Jakma (2677) <paul+slashdot@jakma.org> on Tuesday June 19 2007, @07:53PM (#19572751) Homepage Journal
              The FSF has used the syscall interface as a guideline to determine whether something is a derived work or not.

              I don't believe that's true. I think you're thinking of the explicit exemption Linus put in the COPYING file of the Linux kernel to say that the syscall interface was a GPL interface (there are Linux contributors who disagree to an extent with him on that).
          • by the_womble (580291) on Tuesday June 19 2007, @09:55PM (#19573835) Homepage Journal

            Linux does NOT use the "standard GLP" it makes a few changes for example he removed the "and later versions" part.
            Wrong. Here is the COPYING file for the Linux kernel [kernel.org].

            He has added a note clarifying that userland programs making system calls are not derivative works. That is clarifying his interpretation of the license. At the most, it adds an exemption, which is common practice.

            The "and later versions" clause is not part of the GPL, it lies outside it. In effect, it makes the work automatically multiple licensed as and when new versions of the GPL comes out: so if you distribute something under GPL v2 with that clause, when v3 comes you it will become dual licensed under 2 and 3, when v 4 comes out it will be triple licensed etc. This allows people to redistribute under v2 or any later version, with or without the "and later versions" clause.

                • Re:Ah, well then... (Score:5, Interesting)

                  by Sancho (17056) on Tuesday June 19 2007, @11:09PM (#19574319) Homepage
                  Yes, there are many times when copyright prevents the creation of new works. For example, I can't modify Harry Potter 6 so that Dumbledore doesn't die at the end and re-sell it. At least, not until the copyright expires. Once the copyright expires, you get great works like Wicked and Son of a Witch, both of which are based upon The Wizard Of Oz. Of course, no more copyrights will ever expire, thanks to greedy copyright-holding corporations and a corrupt government.

                  The idea, though, is that the work which you wish to modify might not have existed at all had copyright not existed. The person who created the work might not have desired to if s/he wasn't going to be able to sell it. Or they might not have been able to devote their lives to their craft, and thus ended up not having enough time to create as much. I highly doubt that the entire library of Stephen King would exist today if he wasn't a professional writer, paid for his craft.

                  It's obviously impossible to know what might have been, but I think that the reasoning behind copyright (in general) is sound. The problems in the current implementation are that copyright is effectively endless (meaning that the creation of new works based on the original is forever forbidden--forever being the key word) and that fair use rights are going out the window.
  • Grub (Score:5, Informative)

    by jshriverWVU (810740) on Tuesday June 19 2007, @02:51PM (#19568507)
    Booting from a ZFS partition has been confirmed to work

    Grub has supported ZFS booting for a while (forget which branch though).

  • If you can suffer the bizarre presentation style Sun have used for this video [google.com], it's quite informative about the benefits of ZFS.
  • by andrewd18 (989408) on Tuesday June 19 2007, @03:17PM (#19568867)
    According to Darren Moffat at SUN, parts of ZFS are already licensed under the GPL v2. Maybe there is still hope for a native solution. Not, of course, that I mind using FUSE.

    http://blogs.sun.com/darren/entry/zfs_under_gplv2_ already_exists [sun.com]

    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. It is, sufficient amount to be able to boot an OpenSolaris based system from GRUB, that means that support for mirroring and the checksum and compression support is there but radiz isn't nor are the userland commands. It is possible that this might be enough to get someone started. Still don't believe me check out the updated GRUB source on opensolaris.org, specifically all the files with zfs in their name - every single one of them under the GPLv2 or later.
    • by thesandbender (911391) on Tuesday June 19 2007, @03:55PM (#19569525)
      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.
  • by Savage-Rabbit (308260) on Tuesday June 19 2007, @03:19PM (#19568901)

    ZFS On Linux - It's Alive!
    Shouldn't it be more like:

    ZFS On Linux - It's Alive!! IT IS ALIVE!!! MWUHAHAHAHAHAHAHA!!!!!

    The manic laughter is especially important!
  • Legal question (Score:4, Interesting)

    by TopSpin (753) * on Tuesday June 19 2007, @03:29PM (#19569081) Journal
    Why couldn't ZFS be distributed separately in kernel module form and installed by the user? Ubuntu and others integrate mscorefonts, NVidia drivers and others this way. Is the OpenSolaris license so heinous that it's worse than those examples?

    I doubt it.

  • by FunkyELF (609131) on Tuesday June 19 2007, @03:36PM (#19569189)
    Why couldn't this be implemented in the kernel and have the patches to that kernel be hosted in a country which doesn't care too much about licensing?
  • Noooooo!!!! (Score:5, Funny)

    by r00t (33219) on Wednesday June 20 2007, @12:59AM (#19574907) Journal
    Linux is becoming a microkernel. Linus might even get a passing grade.
    • by jshriverWVU (810740) on Tuesday June 19 2007, @02:59PM (#19568643)
      Can't you just make a binary blob kernel module? That is basically what they are doing. In the case of Nvidia they write the binary blob driver and have an OSS driver to interface between the kernel and the blob. In this case ZFS is using FUSE instead of creating it's own interface code into the kernel.
    • Re:Never mind ZFS (Score:4, Informative)

      by Krondor (306666) on Tuesday June 19 2007, @03:02PM (#19568691)
      What I desperately need is a reliable caching filesystem with decent performance.

      The $COMPANY network is loaded with Linux workstations and servers, all with their own lotsabyte drives -- and the only things those drives are used for is a tiny system image. Meanwhile the network is getting hammered.


      Are you asking for a network based filesystem like AFS [wikipedia.org]? Did I misunderstand your issue?