Announcement

Collapse
No announcement yet.

ZFS On Linux With Ubuntu 12.04 LTS

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • phoronix
    started a topic ZFS On Linux With Ubuntu 12.04 LTS

    ZFS On Linux With Ubuntu 12.04 LTS

    Phoronix: ZFS On Linux With Ubuntu 12.04 LTS

    It has been a while since last benchmarking the ZFS file-system under Linux, but here's some benchmarks of the well-known Solaris file-system on Ubuntu 12.04 LTS and compared to EXT4 and Btrfs when using both a hard drive and solid-state drive.

    http://www.phoronix.com/vr.php?view=17546

  • dee.
    replied
    Originally posted by crazycheese View Post
    That would be illegal due to ~57 undisclosed Sun patents.
    Software patents aren't recognized everywhere in the world. Yet...

    Leave a comment:


  • crazycheese
    replied
    Originally posted by ryao View Post
    If you insist on having a GPL licensed implementation, here is the disk format specification for an early version of ZFS:

    http://hub.opensolaris.org/bin/downl...format0822.pdf

    It should have everything you need to write your own implementation.
    That would be illegal due to ~57 undisclosed Sun patents.

    Leave a comment:


  • ryao
    replied
    Originally posted by uid313 View Post
    If you hack on ZFS, why don't you take the GPL-licensed ZFS code from GNU GRUB and port it to the Linux kernel?
    Then get it merged in the mainline Linux kernel.
    There are three issues with that.
    1. I would see no benefit from doing that and I need my time for things that do benefit me.
    2. The ZFS code from Sun's GRUB is read-only and lacks suport for multiple vdevs, raidz and numerous other features. Being able to read is fairly easy, while being able to write in a manner that maintains data integrity guarantees and other functionality is not. You could use BSD-licensed code from FreeBSD's bootloader to gain support for features absent from GRUB, but you would still be limited to a read-only implementation.
    3. Reimplementing ZFS under the GPL would eliminate the CDDL's patent protection, which would open Linux to lawsuits from multiple parties, including Oracle. I already had an email conversation about merging ZFS into Linux with Linus Torvalds where he expressed concern that Oracle would file a baseless lawsuit if the CDDL-licensed code is merged. I can only imagine what he would say about a GPL-licensed ZFS implementation that lacks protection from Oracle's Sun patents.


    If you insist on having a GPL licensed implementation, here is the disk format specification for an early version of ZFS:

    http://hub.opensolaris.org/bin/downl...format0822.pdf

    It should have everything you need to write your own implementation.
    Last edited by ryao; 06-30-2012, 07:16 PM.

    Leave a comment:


  • uid313
    replied
    Originally posted by ryao View Post
    That was a mistake on my part. I don't touch the networking stuff in the Linux kernel. I hack on ZFS, which means looking at other areas.
    If you hack on ZFS, why don't you take the GPL-licensed ZFS code from GNU GRUB and port it to the Linux kernel?
    Then get it merged in the mainline Linux kernel.

    Leave a comment:


  • XorEaxEax
    replied
    Originally posted by ryao View Post
    That was a mistake on my part. I don't touch the networking stuff in the Linux kernel. I hack on ZFS, which means looking at other areas.
    Heh no problem, I was just messing with you, I'm certainly not one who should 'throw stones' as I've put my foot in my mouth MANY times during my life.

    Originally posted by ryao View Post
    There have been documented cases where people removed all references to the BSD license from the code, which is not permissible:
    Yes I remember that debacle years ago, really bad form. In my personal opinion if you are basing/building your code on someone else's then it's only fair to provide your changes under the same licence even if it doesn't require you to do so. Removing said licence is not only not permitted, it's a true douchebag move if done on purpose (and I can't really see how you accidentally remove a licence text, but maybe it's possible somehow).

    Originally posted by ryao View Post
    Anyway, I meant to say that Linux does contain non-GPL code, which this "dual licensing" reflects.
    No argument there, also this dual licencing may be a reflection of the above, that Linux developers using BSD code wants their changes to that BSD code to be dual-licenced so as to benefit the original authors, which again seems only fair.

    Leave a comment:


  • ryao
    replied
    Originally posted by XorEaxEax View Post
    It seems you should have taken your own advice :

    That was a mistake on my part. I don't touch the networking stuff in the Linux kernel. I hack on ZFS, which means looking at other areas.

    Originally posted by XorEaxEax View Post
    Yes I was aware of there being dual licenced code amongst the drivers and in other areas aswell, actually I did a quick grep just now for the strings 'GPL'/'gpl' and then 'BSD'/'bsd', there were 9758 files in the Linux kernel tree containing 'GPL'/'gpl' and 1492 containing 'BSD'/'bsd' with most files residing in the /drivers dir where there were 698 files tagged with 'BSD'/'bsd', still very much dwarfed by 'GPL'/'gpl' which accounted for 6023 files in the same /drivers dir.

    My reaction was to your statement saying that the Linux tcpip stack was BSD licenced and directly lifted from BSD (well, you gave the option of borrowed/copied/stolen) which was the opposite of what I know and also from what I've seen of the source code in the Linux tcp/ip stack in regards to licencing (yes, I have examined parts of the Linux source code, together with parts of the BSD's, Haiku, Reactos, Aros, it's interesting and enlightening stuff indeed).

    edit: also I'd like to point out that even though a file contains BSD or bsd it may not indicate that it's BSD licenced, for example there are alot of files in /net which contains 'BSD' but it doesn't refer to the licence (which is GPL) but instead is text referring to the BSD implementation of the tcpip stack. I probably should have used better search strings which would properly identify licence text so not to throw false positives.
    In some instances (possibly all?), it appears that people took BSD-licensed code and put it under a dual BSD/GPL license. The GPL seems to be a superset of the BSD license, so adding additional terms in the form of the GPL is permissible. There have been documented cases where people removed all references to the BSD license from the code, which is not permissible:

    https://lkml.org/lkml/2007/8/28/157

    Anyway, I meant to say that Linux does contain non-GPL code, which this "dual licensing" reflects.
    Last edited by ryao; 06-30-2012, 01:45 PM.

    Leave a comment:


  • liam
    replied
    Originally posted by johnc View Post
    The way I see it... people who know of ZFS and want to use it, will know how to set it up properly.

    And those who don't know how to set up ZFS have no business using it.

    So in the end it's of little consequence IMO.

    I would love to build my home file server around Linux... but this is one area where Linux is sub-par. Maybe some day with Btrfs. Maybe some day.
    Have you heard of SnapRaid? It's pretty similar to FlexRaid (and I think UnRaid, though I'm uncertain) in that each disk has an independent file system. Spanning is accomplished with Greyhole or mhddfs. The code scales amazingly well and offers up to double redundancy (the developer, who is very engaging and active, is working on triple redundancy). Also, it detects bit rot (using the murmur hash, IIRC).
    The downside is that it isn't realtime (cron based snap-shoting), so it is best used for data that doesn't change often. You also don't get the read improvements from striping, but you do get the benefit of not having to worry about losing the whole array.

    Leave a comment:


  • XorEaxEax
    replied
    My naive string search seems to have been waaaay off, searching for strings from the actual licences shows _totally_ different results.

    Searching for files containing "GNU General Public License" returns 17139 files, BSD-style licencing doesn't actually state a licence name but rather just the conditions and afaik all of them seem to contain the following string: 'above copyright notice' which yielded a result of 681 files.

    Anyone have a better search term to better nail down the amount of BSD/MIT licenced files? The one I used here exists both in the BSD licences and the MIT licence so I figured it would be a good fit. 681 files sure don't seem like 'plenty of BSD code'.
    Last edited by XorEaxEax; 06-29-2012, 04:05 PM.

    Leave a comment:


  • XorEaxEax
    replied
    Originally posted by ryao View Post
    The TCP/IP stack is actually one of the areas that I have never read. Most operating systems' TCP/IP stacks are taken from BSD (including Windows' until Vista), so I had assumed that Linux's was too, but it would seem that is not the case.
    It seems you should have taken your own advice :
    Originally posted by ryao View Post
    I suggest that you spend some time reading the kernel source code firsthand. You should find it to be an enlightening experience.


    Originally posted by ryao View Post
    Anyway, there is plenty of BSD code in the Linux kernel.
    Yes I was aware of there being dual licenced code amongst the drivers and in other areas aswell, actually I did a quick grep just now for the strings 'GPL'/'gpl' and then 'BSD'/'bsd', there were 9758 files in the Linux kernel tree containing 'GPL'/'gpl' and 1492 containing 'BSD'/'bsd' with most files residing in the /drivers dir where there were 698 files tagged with 'BSD'/'bsd', still very much dwarfed by 'GPL'/'gpl' which accounted for 6023 files in the same /drivers dir.

    My reaction was to your statement saying that the Linux tcpip stack was BSD licenced and directly lifted from BSD (well, you gave the option of borrowed/copied/stolen) which was the opposite of what I know and also from what I've seen of the source code in the Linux tcp/ip stack in regards to licencing (yes, I have examined parts of the Linux source code, together with parts of the BSD's, Haiku, Reactos, Aros, it's interesting and enlightening stuff indeed).

    edit: also I'd like to point out that even though a file contains BSD or bsd it may not indicate that it's BSD licenced, for example there are alot of files in /net which contains 'BSD' but it doesn't refer to the licence (which is GPL) but instead is text referring to the BSD implementation of the tcpip stack. I probably should have used better search strings which would properly identify licence text so not to throw false positives.
    Last edited by XorEaxEax; 06-29-2012, 03:30 PM.

    Leave a comment:

Working...
X