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."
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.
Why not just rewrite the ZFS code as GPL or (hopefully) BSD? Suddenly we care about software patents and not reverse engineering things?
You know, I have one simple request. And that is to have sharks with frickin' laser beams attached to their heads!
There's a Linux filesystem under development that might be able to compare favourably with ZFS if shown some love by developers:
* http://oss.oracle.com/projects/btrfs/
* http://kerneltrap.org/node/8376
Avoid the license squabbles and do what we do best: build it ourselves, only better.
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
Why is Sun switching to the GPL the "Right Thing"?
Maybe the "Right Thing" would be for Linux to switch to a compatible license, like the CDDL, or BSD.
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.
Lurking at the bottom of the gravity well, getting old
Not necessarily; NTFS is both in the kernel AND in FUSE. However, the kernel version is less full-featured than the user-space version (ntfs-3G); because of lack of manpower and that author strict quality control - the old NTFS driver ate filesystems.
That said, I can't see ZFS ever being in the kernel - even licensing problems aside; its a HUGE layering violation. Some say they can do a ZFS without the layering problem; an ambitious project - btrfs exists to try do exactly that. Of course its nowhere near done (currently it'll oops if the filesystem gets full, among other things) - but its one to keep an eye on.
I'm talking about kernels vs. kernels. The linux kernel tends to includes substantial functionality not yet available for *BSD.
Although I could as easily talk about distributions vs. distributions; more software is developed on Linux than *BSD and it sometimes takes time/effort to port from Linux to *BSD, so there is more software available to the average end user.
It's notable that these days Linux runs on more platforms than anything else but maybe netbsd, the least advanced (but apparently most portable) flavor of *BSD. Linux runs on 16 bit systems with no MMU (albeit a somewhat hacked up version of the kernel) and it runs on some of the most complex systems on the planet. Linux provides the potential for more hardware than it is possible to get with any *BSD system. And less!
My response can only be "wah wah wah". I'm tired of BSD-types telling everyone else what attitude they should have about software licensing.
Sun claims they want ZFS to be taken up. The GPL has important features which are there for good reasons and which are obviously supported by the Linux community (which would, again, otherwise just go to BSD and shutthefuckup.) If Sun is serious about wanting to see ZFS be taken up, they are going to have to license it accordingly. If they aren't, then they don't. As it is, it's present in FUSE today, so it's there and working, and it should only get faster as both the implementation and FUSE itself are improved. So frankly I don't give a good goddamn regardless. But ultimately if you don't want to listen to whiners, don't listen to them and for dog's sake don't egg them on or you will only create more of what you are complaining about.
I just think you like to complain.
I calls 'em as I sees 'em.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Actually if you take a look you will see that NTFS-G under Fuse is actually faster then XFS. There seems to be some memory fragmentation issues with ZFS currently.
I am a big fan of Microkernels. I keep hoping that Minix 3 will really start to take off soon. I love the idea of self healing systems and that can really only be done with a Microkernel.
I don't think Vista is slow because of any moves into user-space. I think it is more an issue of memory usage and DRM. Let's face it if you are "managing rights" for all sorts of files that takes CPU cycles. Also if you have to keep hitting swap all the time that will also slow you down.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
This is an interesting development in light of recent comments made by Linus about Sun and ZFS in particular, to which Jonathan Schwartz wrote a personal response.
I think there is a world market for maybe five personal web logs.
My experience (home directory on zfs for a couple week) is that the benchmarks can't be representative of real use--sometimes my applications temporarily freeze (or completely hang, on occasion). The throughput may be decent, but real use is hundreds of concurrent accesses. My impression is that the scheduling isn't fair enough (perhaps this may have to do with the fact that it's a userspace program). In other words, half as good as xfs isn't enough. Yet. I've heard that performance has yet to be optimized.
A cat can't teach a dog to bark.
Sun knows that it is impossible to switch Linux to another license. Even if a majority of people in the contributors list all said tomorrow "Let's use license X" (nearly impossible) there are still missing and _dead_ contributors who effectively lock it into a 70 year GPL configuration (at which point it goes public domain and could be re-licensed).
Sun just recently got a chance to sit down with their lawyers decide how they wanted to license OpenSolaris (Nevada, Solaris 11, whatever), as a whole.
Their lawyers modeled the CDDL on the Mozilla Developer License. They wanted to get the code out there without losing sole control, and to be able to option/exert patent influence on people who got access to the technology.
But unlike AOL/Mozilla, they did not dual license it under the GPL. This probably because they knew that Linux could not incorporate OpenSolaris code at all without violating the GPL and CDDL clauses. This preventing Linux from becoming more competetive with Solaris by means of appropriation (they don't want to hurt their own technology advantage and cannabolize sales of licensed/supported Solaris).
But both camps could really use each other's code. It sounds like upper management at Sun is going to change the license for Solaris (as they have the authority to do so; this is impossible for the Linux community to do effectively) to allow this soon, on the heels of GPL'ing java (which has done wonders for its acceptance in the development community).
Project inertia will guarantee that Linux will be Linux, and Solaris will be Solaris. Sun doesn't have anything to fear. Perhaps they were testing the waters with the initial code release to see what the reaction would be.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
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).
I use Friend/Foe + mod-point modifiers as a karma/reputation system.
You clearly do not understand the word random.
In hindsight, perhaps "arbitrary" would have been a better word.
A patch is structured, and further, contains specific (nonrandom) information on how to transform an input file into a previously created output file. It is, by definition, derived from two input files.
An SSH public keyfile, too, is structured, and further, contains specific (nonrandom) information that facilitates transforming input data into output data.
An SSH public keyfile, however, is still just a few strings of randomly generated characters.
Furthermore, you appear to believe that a derivative work must somehow have structure or purpose similar to that of the original work.
I believe that a derivative work must bear some resemblence to the work from whence it is derived and must actually be a coherent "work" in and of itself. After all, if that were not a requirement, surely any random jumbling of sounds or words that just happened to also be present in another piece of music or literature could be deemed derivative (or vice versa), could it not ?
Personally I find the whole concept of a "derivative work" - pretending for the moment I believe in the concept of "intellectual property" at all - to be forced, counter-intuitive and fundamentally ignorant. A "derivative" work is either so similar to the original that the differences are irrelevant (and they are effectively identical), or it is different enough to stand on its own merits and therefore warrants discrete recognition. Further, since all "works" are influenced in some way by the "works" that have preceded them, surely all "works" are derivative ?
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.
"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?"
Who doesn't want his system to crash when a transient hardware error hit non-redundant ZFS kernel code.
What if you layer an ext3 filesystem on top of an NFS filesystem using UnionFS? UnionFS 2.0 just came out, which supposedly takes care of the problem of "what if I modify the underlying filesystem?" It might work... Then again, it might not, too :)