A quick review of btrfs
apenwarr.ca
apenwarr.ca
cp --reflink=auto src dst
I did a quick summary of how reflinks relate to symlinks and hardlinks at http://www.pixelbeat.org/docs/unix_links.htmlOn the other hand, ZFS works, is pretty stable, and is already available on BSDs as well as Solaris. Furthermore, while the OSX port effort was stopped (apparently due to legal/licensing concerns) it could be restarted depending on Oracle's attitude. And as kia points out, ZFS/btrfs if a redundancy and Oracle "owns" both projects. Oracle tends to eliminate redundancies in product space, so it's unlikely both projects will continue in parallel.
I don't think btrfs having been started by oracle will have much impact in the decision.
Which makes the whole thing even more likely: they can provide the same amount of support by porting ZFS to Linux.
I'm not so sure about this. Apple's recent actions seem to point to them wanting to control as much of the shipping code in their OS as possible. An external dependency on ZFS (especially where it may be deprecated by Sun at some point, forcing them to maintain it) could be a bad thing for them in the long run, vs. a modern filesystem that they've built themselves from the ground up, to their own needs.
ZFS is a far superior filesystem to anything Apple has now (at least, in public), and they obviously had it ported already (even including read/write support for Leopard that you could download from their website). On top of that, ZFS is open-source and there are no license restrictions on filesystem modules in OS X (vs. Linux's GPL restrictions).
In the end, I think they just wanted to own everything, top to bottom, and go in the direction that suited them best.
If the project is under a license they can use (MIT, BSD, something like that) they do have that control, even if they're not project leads.
> On top of that, ZFS is open-source and there are no license restrictions on filesystem modules in OS X
There is one thing Apple likes even less than not having control over their OS, and it's patent risks. http://blogs.netapp.com/dave/2007/09/netapp-sues-sun.html (and Sun not offering any guarantee against patent issues as far as I know) is why they dropped ZFS originally.
With btrfs, periodic snapshots can be done without touching or "notifying" the database, in O(1) time. I know that I've setup a PostgreSQL box on ZFS to do snapshots every 5 minutes, just because it's so "free." Most database software has some sort of built-in mechanism to do snapshot backups, but they're generally quite expensive, especially when compared to snapshots in a COW filesystem like ZFS or btrfs.
When the two FSes are so similar, what's the point of developing them both? They either want the features on Linux, so they should GPL ZFS, or they don't, and they should discontinue btrfs. Either way, btrfs loses, but either way, we win (btrfs won't stop being developed, so we'll get a great FS one way or the other).
Both of these projects are costing them so little, it's much easier to justify keeping them going than it is to take on the unknown business risk of making ZFS directly merge-able into the Linux kernel. Sun clearly chose the CDDL to keep this from happening, and post-merger, you've probably got the same people in charge of the Solaris and ZFS projects, so strategies aren't going to change overnight.
tl;dr: Oracle has low, predictable expenses for development of both btrfs and ZFS, and there's no reason to rock the boat for <1m/year in expenses.
Or FreeBSD: http://www.freebsd.org/doc/handbook/filesystems-zfs.html
I've been out of the Linux kernel loop for ages now, but isn't 2.3.36 over 10 years old? Did they change the naming convention such that development kernels are 2.3 again? If so, why? Or, am I completely missing something?