The standard cp since coreutils 7.6 supports the --reflink option. This e.g. will copy a file with CoW if possible, but fallback to a standard copy if not:
The funny thing is that BTRFS is developed by Oracle. ZFS was developed by Sun. Now when Oracle bought Sun they have two more or less competing filesystems. What are they going to do about this? Are they going to make ZFS GPL or cancel the development of one of these?
I doubt they'll make ZFS GPL. ZFS is a really big reason to use Solaris, and unless they plan on killing Solaris, Linux's paws need to remain off of ZFS. On the other side of things, Oracle has a LOT of Linux installations, and the features of ZFS that btrfs is bringing on board are unbelievably useful, especially in a database environment.
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.
What you're saying is "They won't make ZFS GPL because they want to keep people on Solaris, but they'll develop btrfs because they want to use it on Linux".
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).
Yes, that's exactly what I'm saying. If they GPL ZFS, they end up risking a major reason people choose Solaris. ZFS is very much a "brand" among systems administrators. It took quite a while for Sun to convince people to put their precious business critical data on ZFS, and it'll be the same story for btrfs.
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.
BTRFS was started by Oracle. There are contributors from Redhat and other places now, it's bigger. Oracle could fire Chris Mason and BTRFS should continue.
> BTRFS was started by Oracle. There are contributors from Redhat and other places now, it's bigger. Oracle could fire Chris Mason and BTRFS should continue.
On 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.
> Furthermore, while the OSX port effort was stopped (apparently due to legal/licensing concerns)
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.
> 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
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.
I'd argue that btrfs is not a product, but part of their support for the Linux platform. Oracle has a big Linux install base, and the primary commercial competition for these types of installs this is Microsoft SQL Server. The more powerful and useable Linux is, the less attractive a Windows-based option looks.
> all I know is it's not in the 2.3.36 Linux kernel, but btrfs is, so btrfs wins.
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?