https://lkml.org/lkml/2010/6/3/313 explains that btrfs has unbounded internal fragmentation. The author of the article you linked criticized ZFS' external fragmentation, but completely ignored the unbound internal fragmentation of btrfs. ZFS has ARC, which compensates for ZFS' external fragmentation. ARC also enables ZFS to outperform many other filesystems. btrfs simply becomes slower until either it runs out of space or is manually rebalanced. The manual rebalancing process kills IO performance while it runs. I am told that it is especially crippling on pre-SATA 3.1 SSDs when mounted with discard. To illustrate what I mean when I say btrfs can run out of space due to its unbound internal fragmentation, imagine a 256GB SSD formatted with btrfs that becomes full after only 25 gigabytes have been written.
As for having "conservative distros" use btrfs, I think people are more concerned about what the default filesystem is than they are about support for the filesystem. I am not aware of any major Linux distributions that use btrfs as their default filesystem.
Last edited by ryao; 01-17-2013 at 04:02 PM.
What do you mean when you talk about commercial support? Microsoft commercially supports Windows, but I am fairly certain that neither of us would want to use it. If you mean that they are taking bug reports for issues, then that would put btrfs in the same category as everything else that has developer(s) handling bug reports. For instance, I am non-commercially supporting ZFS as the root filesystem for Gentoo Linux (and its variants). I suspect that I do as good a job of supporting ZFS in Gentoo as my counterparts at Oracle and SUSE support btrfs in their distributions.
No btrfsck, no vote for btrfs as a default. Isn't that simple?
I had edited that from my post because it was not relevant. Anyway, ZFS has a chance of becoming the default filesystem for a major Linux distribution before btrfs does. I will refrain from naming the distribution that I have in mind, but I will say that two things are required for that distribution to switch, in the following sequence:
- ZFS rootfs support in the installer
- A decision by that distribution's developers to switch
The first was supposed to happen last year, but it was delayed.
Enterprise distros have full time developers, quality assurance staff, support engineers etc and the nature of the support is very different from what you do. Are you serious saying you have no idea of the dfiference between commercial and community support? Taking bug reports, writing documentation and helping users would be community support. Commercial support involves a legal contract between two entities and the nature of the support can involve answering questions within a particular time frame, developing new features to meet customer demands and more depending on the nature of the contract.
There is a btrfsck program available it just doesn't follow the fsck API hence why there's no fsck.btrfs and when you make an initramfs it will usually complain that no fsck could be found. But thats not actually true, the fsck is available from btrfs-progs under the name btrfsck
ZFS already handles much of what people want and there are improvements in development by both the community and various commercial companies. In specific, Delphix, Joyent and Nexenta are doing commercial development. LLNL has paid developers working on it. I tend to collaborate with them and get improvements into ZFSOnLInux. Some of the things that have resulted from that collaboration were popular requests in the community, such as support for swap on ZFS and support for newer kernels. I am currently using ZFS with Linux 3.8-rc3. There are other improvements that I am working on as well.
As far as results go, ZFS outperforms btrfs. It has better performance, better scaling, better stability and a better track record for data integrity. I cannot claim responsibility for much of that, but I can say that when someone tells me that they have a problem, I work on a fix. People might not have a commercial support contract with ZFS, but it delivers results, which is more than what btrfs has done so far.
It really has no place here. If it happens, you will find out when everyone else does.