Linked by Thom Holwerda on Wed 30th Apr 2008 12:55 UTC, submitted by diegocg
Linux The (unstable and development-oriented only) filesystem Btrfs version 0.14 has been released. "Btrfs is a new copy on write filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration. Initially developed by Oracle, Btrfs is licensed under the GPL and open for contribution from anyone."
Order by: Score:

btrfs++
by SEJeff on Wed 30th Apr 2008 14:24 UTC
SEJeff
Member since:
2005-11-05

http://btrfs.wiki.kernel.org btrfs homepage for the adventureous

If it is as stable, this will very likely replace ext3/4 as the default linux filesystem in most major distros.

per directory snapshots and cow have been

excited
by DirtyHarry on Wed 30th Apr 2008 14:33 UTC
DirtyHarry
Member since:
2006-01-31

Although in a very early state I'm soooo excited about this filing system. In stead of whining about 'ZFS for Linux' I think this project has a higher change of succeeding in being the 'next-generation' filing system for Linux. I'm not saying it's better than ZFS, but is doesn't have the political issues of ZFS.

Also I get the idea that kernel community is waiting in anticipation for this stuff. And now Hans R. is probably going to jail for a long time we can forget Reiser4...

Long live BTRFS!

RE: excited
by Sodki on Wed 30th Apr 2008 16:28 UTC in reply to "excited"
Sodki Member since:
2005-11-10

I'm not saying it's better than ZFS, but is doesn't have the political issues of ZFS.

What political issues? The only problem of ZFS, as far as Linux is concerned, is that its license is GPL incompatible.

RE[2]: excited
by Wes Felter on Wed 30th Apr 2008 16:31 UTC in reply to "RE: excited"
Wes Felter Member since:
2005-11-15

Licensing is political. NIH is also a political issue.

RE[3]: excited
by Kakihara on Wed 30th Apr 2008 16:34 UTC in reply to "RE[2]: excited"
Kakihara Member since:
2007-06-09

But the problem is that GPL is too restrictive. Thus ZFS couldn't be included in Linux kernel and Btrfs(also GPL) won't be easily included in other operating systems. If I understand correctly...

RE[4]: excited
by Luminair on Wed 30th Apr 2008 22:23 UTC in reply to "RE[3]: excited"
Luminair Member since:
2007-03-30

sun could make zfs gpl. there was talk about it as a trade for linux kernel drivers.

but they chose not to because they are launching new products that use it, and it is a big differentiating feature between them and linux.

RE[4]: excited
by sbergman27 on Wed 30th Apr 2008 22:48 UTC in reply to "RE[3]: excited"
sbergman27 Member since:
2005-07-24

Thus ZFS couldn't be included in Linux kernel and Btrfs(also GPL) won't be easily included in other operating systems.

That's life. Seriously. Choices have consequences, and some of them are beneficial and some of them are not. It is unlikely that ZFS will see inclusion in the Linux kernel, and it is unlikely that btrfs will see inclusion in the *Solaris kernel. (Should that be plural or not?) Sometimes those kinds of barriers are significant, and sometimes they are not. I am not convinced that the sharing of filesystem code has much benefit over cross-pollenation of *ideas* in this particular case, for reasons which I have outlined elsewhere in this thread.

I find that discussions on licensing often end up doing nothing more than generating bad blood and resentment between the various parties, without yielding any meaningful benefits.

RE[3]: excited
by sbergman27 on Wed 30th Apr 2008 16:43 UTC in reply to "RE[2]: excited"
sbergman27 Member since:
2005-07-24

NIH is also a political issue.

An impedance mismatch between the ZFS architecture and Linux kernel architecture is *not* political, however. Sun's goals for ZFS, apparently, are for it the be the Solaris filesystem. And there is absolutely nothing wrong with that. That strategy has its strengths. And in that case, putting the layering of logical levels into ZFS itself makes perfect sense. However, supporting a broad range of filesystems is a strategy which also has its strengths, and that is what Linux does. In that case, having all the layering of raid, volume manager, fs, etc. in ZFS itself makes no sense at all.

No NIH is required to see that ZFS, while a good fit for Solaris, is a poor fit for Linux.

As to licensing... that does have a political aspect. But the problem is primarily a practical one from the Linux kernel devs standpoint. Although an argument could be made that Sun's choice of license might have been motivated by political (or perhaps "strategic" would be a better word) factors.

Edited 2008-04-30 16:44 UTC

RE[4]: excited
by Wes Felter on Wed 30th Apr 2008 17:38 UTC in reply to "RE[3]: excited"
Wes Felter Member since:
2005-11-15

I don't think that argument holds, since Btrfs is busy copying all the "layer violation" features from ZFS such as RAID.

RE[5]: excited
by sbergman27 on Wed 30th Apr 2008 17:51 UTC in reply to "RE[4]: excited"
sbergman27 Member since:
2005-07-24

I don't think that argument holds, since Btrfs is busy copying all the "layer violation" features from ZFS such as RAID.

No. That is a mischaracterization. Btrfs is intended to work closely *with* dm and lvm. A certain minimum amount of functionality is duplicated between btrfs and the current dm and lvm where absolutely necessary. Read what Chris says about this:

http://lwn.net/Articles/265533/

Edited 2008-04-30 17:59 UTC

RE[5]: excited
by diegocg on Wed 30th Apr 2008 18:44 UTC in reply to "RE[4]: excited"
diegocg Member since:
2005-07-08

So? What makes ZFS completely unsuitable for Linux is the fact that it's not just a filesystem - not even a "filesystem + volume manager". ZFS is a complete software stack from the VFS to the storage driver.

This is why ZFS supports io priorities and UFS-solaris doesn't: They have the "old" IO stack and the "new" ZFS stack. In the Linux kernel this would not be acceptable at all. When Linux develops a new piece of the IO stack such the io priorities, it must work for all the filesystems. If that piece only works with a filesystem, it'd be considered misdesigned and would not be merged. This is why in Linux you have IO priorities support not only for a given filesystem like ext3, but also for filesystems like FAT - for any kind of filesystems, in fact the io priority thing doesn't interacts so much with the filesystems, but with the block devices.

So if ZFS were GPL, some parts would be need to be redesigned to be merged in Linux. BTRFS, in the other hand, is just a filesystem that plugs cleanly in the Linux design.

RE[6]: excited
by jwwf on Wed 30th Apr 2008 19:24 UTC in reply to "RE[5]: excited"
jwwf Member since:
2006-01-19

This is why ZFS supports io priorities and UFS-solaris doesn't: They have the "old" IO stack and the "new" ZFS stack. In the Linux kernel this would not be acceptable at all. When Linux develops a new piece of the IO stack such the io priorities, it must work for all the filesystems. If that piece only works with a filesystem, it'd be considered misdesigned and would not be merged. This is why in Linux you have IO priorities support not only for a given filesystem like ext3, but also for filesystems like FAT - for any kind of filesystems, in fact the io priority thing doesn't interacts so much with the filesystems, but with the block devices.


In general I don't think you are incorrect. However, I don't think this is literally true. For instance, I am pretty sure that each major Linux FS implements journaling using its own private subsystem. There is a standard subsystem now, JBD, but only ext3 uses it.

Moral of the story is, if the right political factions are behind it, anything goes.

RE[7]: excited
by sbergman27 on Wed 30th Apr 2008 20:29 UTC in reply to "RE[6]: excited"
sbergman27 Member since:
2005-07-24

Moral of the story is, if the right political factions are behind it, anything goes.

I would disagree with that. Duplication of journaling layer code is one thing. Especially considering that XFS, JFS, and Resierfs were introduced before jbd and ext3. It's an unfortunate situation, but what can we do now? Rewrite them all to use JBD? Reiserfs was introduced back when we Linux folks had a pretty bad case of "journal envy". XFS (and to a lesser extent, JFS) carried too much of a mystique to refuse. Those were different times. If reiserfs v3 were new today it would not get the easy ride that it did back then, Hans or no Hans.

Besides that, JBD holds a different status than, say, VFS, DM, MD and LVM. ZFS's wholesale duplication of pretty much the whole stack is in a completely different class of design dissonance than simply using one's own journaling layer.

I don't understand why people are so quick to claim politics when the technical reasons for concern are so clear. I think that it's maybe because these kinds of threads spend so much time in "conflict mode" where honest expression of concerns about impedance mismatches quickly devolves into "ZFS Rulez!, ZFS Sucks!" affairs.

My position is that ZFS is great for Solaris, and bears a lot of good ideas that many of us would like to see in a Linux filesystem. But I really don't think that porting ZFS is the answer, even disregarding the obvious licensing issues. The desirable features of ZFS really need to be added in the appropriate places in the Linux stack to really work well and have a chance of becoming default Linux filesystem features. ZFS is a round peg. *Solaris is a round hole. Linux is a square hole, and needs a square peg with all the nice features of the ZFS round peg included in the appropriate places. Btrfs is a pragmatic start on that. It is, in my opinion, just ambitious enough, but not *too* ambitious to be a practical starting point. (We should not expect always to be on the cutting edge of everything. A little patience, and appreciation of others' achievements is called for.)

This discussion would really be more interesting if the subject were ZFS's suitability for MacOSX or FreeBSD where the licensing allows the question to be relevant. And, of course, the designers of those kernels are entitled to their own ideas about what is appropriate in their kernels. After all, they are the ones who must support these filesystems on into the future.

Edited 2008-04-30 20:45 UTC

RE: excited
by FunkyELF on Wed 30th Apr 2008 20:42 UTC in reply to "excited"
FunkyELF Member since:
2006-07-26

I'm not saying it's better than ZFS, but is doesn't have the political issues of ZFS.


You're right...it being GPL, it has its own political issues.

ZFS and the Linux kernel are incompatible. End of story.

Edited 2008-04-30 20:48 UTC

Lets get ZFS in the Kernel
by FunkyELF on Wed 30th Apr 2008 20:50 UTC
FunkyELF
Member since:
2006-07-26

I wonder why we haven't seen any implementation of ZFS in the Linux kernel.

Just because something is illegal doesn't mean the community won't work on it. Look at XBMC, although now it has a Linux port, it was originally made for hacked xboxes using an illegally acquired and unlicensed XDKs. That didn't stop people from working on it and hosting the binaries in some country that doesn't care about those issues.

Would it be illegal to ship a compiled Linux kernel along side some ZFS source code that has been modified to work with the kernel, and then supply a script to compile it as a module?

I definitely see how shipping a kernel binary with that support built directly into it would be illegal. But if you leave it to the end user to build it is it illegal?

RE: Lets get ZFS in the Kernel
by WereCatf on Thu 1st May 2008 05:50 UTC in reply to "Lets get ZFS in the Kernel"
WereCatf Member since:
2006-02-15

Would it be illegal to ship a compiled Linux kernel along side some ZFS source code that has been modified to work with the kernel, and then supply a script to compile it as a module?

I definitely see how shipping a kernel binary with that support built directly into it would be illegal. But if you leave it to the end user to build it is it illegal?


That would still be illegal. If you really, really need ZFS that bad then I'd suggest to go to http://zfs-on-fuse.blogspot.com/