> Oh, if you need a safe COW filesystem today I'd definitely recommend > ZFS over btrfs for sure, although I suspect the people who are most > likely to take this sort of advice are also the sort of people who are > most likely to not be running Gentoo. There are a bazillion problems > with btrfs as it stands.
There is significant interest in ZFS in the Gentoo community, especially on freenode. Several veteran users are evaluating it and others have already begun to switch from other filesystems, volume managers and RAID solutions. > However, fundamentally there is no reason to think that ZFS will > remain better in the future, once the bugs are worked out. They're > still focusing on keeping btrfs from hosing your data - tuning > performance is not a priority yet. However, the b-tree design of > btrfs should scale very well once the bugs are worked out. ZFSOnLinux performance tuning is not a priority either, but there have been a few patches and the performance is good. btrfs might one day outperform ZFS in terms of single disk performance, assuming that it does not already, but I question the usefulness of single disk performance as a performance metric. If I add a SSD to a ZFS pool machine to complement the disk, system performance will increase many-fold. As far as I can tell, that will never be possible with btrfs without external solutions like Google's flashcache, which killed an OCZ Vertex 3 within 16 days about a month ago that Wyatt in #gentoo-chat on freenode had to replace. I imagine that its death could have been delayed through write rate limiting, which is what ZFS uses for L2ARC, but until you can replace the Linux page replacement algorithm with either ARC or something comparable, flashcache will be inferior to ZFS L2ARC. You can read more about this topic at the following link: http://linux-mm.org/AdvancedPageReplacement ZFS at its core is a transactional object store and everything that enables its use as a filesystem is implemented on top of that. ZFS supports raidz3, zvols, L2ARC, SLOG/ZIL and endian independence, which as far as I can tell, are things that btrfs will never support.. ZFS also has either first-party or third-party support on Solaris, FreeBSD, Linux, Mac OS X and Windows, while btrfs appears to have no future outside of Linux. Lastly, ZFS' performance scaling exceeds that of any block device based filesystem I have seen (which excludes comparisons with tmpfs/ramfs and lustre/gpfs). The following benchmark is of a SAN device using ZFS: http://www.anandtech.com/show/3963/zfs-building-testing-and-benchmarking/2 While ZFS performance in that benchmark is impressive, ZFS can scale far higher with additional disks and more SSDs. SuperMicro has a hotswappable 72-disk enclosure that should enable ZFS to far exceed the performance of the system that Anandtech benchmarked, provided that it is configured with a large ARC cache and multiple vdevs each with multiple disks, some SSDs for L2ARC and a SLC SSD-based SLOG/ZIL. I would not be surprised if ZFS performance were to exceed 1 million IOPS on such hardware. Nothing that I have seen planned for btrfs can perform comparably, in any configuration.