Btrfs is actually a sordid state of affairs. It's been "two years out" for five years, which seems very disingenuous looking back. Groundbreaking FS development follows a pretty regular formula. 10 years seems to be the magic number. Major functionality (i.e RAID 5) is still just landing and has glaring issues. It's just now a couple years out.
Meanwhile, ZFS has over 10 years of history, stably implements most of Btrfs _planned_ features, and has battle tested deployments. Granted, the SPL for Linux adds variables, but there are some big users of this particular project.
So I approach Btrfs with the exact opposite mindset. It's guilty until innocent despite some FUD from the Linux camp early on that has settled down a bit since Oracle now has it's hands on both.
We have deployed ZFS for the last few years on some large backup servers (Solaris and FreeBSD) and our experience has been pretty rotten - the command line is slow at managing a few hundred volumes, it becomes unusable during a rebuild, and it has / had a rotten bug where if you fill a volume up to 100%, you need to allocate more space before you can delete it.
It's been a multi-year mistake for us and we're busy changing these servers back to nice simple XFS volumes.
And if you use more than 80% space performance degrades like a dog. We still use XFS for really large volumes though and it has always been fast and never missed a beat.
This is why people think BTRFS isn't any good, because someone waltses up and says yeah well it doens't have XXX feature which only _one_ other filesystem has so its clearly lacking and immature. The truth it it works great its sufficently fast and has been stable for years. Yes it doesn't have Raid5 or Raid Z if you would like and I can't import and export pools the way I can in ZFS, but honestly if you jumping on a FS that has been marked stable for all of two days on Linux and your reasoning is you can't do software raid on the other one then best of luck to you.
To be fair: FUD only flourishes in the absence of evidence. People will take btrfs more seriously when distros start shipping it by default and when "serious players" start blogging about how they are using it and how great it works.
Honestly the same can be said about ZFS on Linux (and, quite frankly, even ZFS on Solaris). When it becomes "just the standard filesystem that everyone knows works", then people will stop yelling about the software (though the license mess will be with us forever, sadly).
OpenSuse uses it, and I run it as my root partition. The snapshots are a wonderful system restore mechanism, and I have a cron script to snapshot root after a boot.
The only time I've ever had a problem with btrfs was after a power failure, but btrfsck worked to fix it (although since it isn't in fsck.btrfs, it doesn't automatically run on boot, so I had to use the repair partition).
I've been using it for a year. I have around 8 hard disks in my machine, running half a dozen filesystems from fat32 to ntfs to ext4 to xfs, but I like btrfs the most of the native linux FSes atm.
We use btrfs in production on thousands of nodes, and we make use of advanced features (nested snapshots, seed device snapshots, etc.) It has performed admirably so far, with only one problem attributable to btrfs itself (seed device incompatibility with device pools, seen in 3.2.0).
It may not have RAID 5/6, or time-proven stability, but it kicks ass and over time it will kick ZFS's ass not on technical grounds, but simply because ZFS has too much baggage and not enough community support.
Reiterating the GP's point, I don't see anything concrete about speed and stability. Let me throw in my 2e-2 USD. I've been running BTRFS on my laptop since Ubuntu 12.10 came out without any troubles. Installing Ubuntu on BTRFS was effortless and I even rigged up a script to do scheduled snapshots of my home directory (hourly, daily, etc.) and found this feature to be very handy a couple of times.
And i started using btrfs in 12.04 and reverted back to ext4 in 12.10 because it was awfully slow. Atleast noticable slower then ext3 (or 4, not sure what i had earlier).
May have changed today, but yes.. It's not all great and nice for everyone ;)
Can you explain why you feel that way? ZFS has intelligently managed RAID that keeps the performance penalty minimal. I'd rather have multiple-redundancy parity than 2x mirroring, and it takes less space.
There is RAID-Z2 which allows for 2 discs to fail and RAID-Z3 which allows for 3. Problem is rebuild time is still slow. I wouldn't recommend to use RAID-Z1.
Comments
Btrfs is actually a sordid state of affairs. It's been "two years out" for five years, which seems very disingenuous looking back. Groundbreaking FS development follows a pretty regular formula. 10 years seems to be the magic number. Major functionality (i.e RAID 5) is still just landing and has glaring issues. It's just now a couple years out.
Meanwhile, ZFS has over 10 years of history, stably implements most of Btrfs _planned_ features, and has battle tested deployments. Granted, the SPL for Linux adds variables, but there are some big users of this particular project.
So I approach Btrfs with the exact opposite mindset. It's guilty until innocent despite some FUD from the Linux camp early on that has settled down a bit since Oracle now has it's hands on both.
We have deployed ZFS for the last few years on some large backup servers (Solaris and FreeBSD) and our experience has been pretty rotten - the command line is slow at managing a few hundred volumes, it becomes unusable during a rebuild, and it has / had a rotten bug where if you fill a volume up to 100%, you need to allocate more space before you can delete it.
It's been a multi-year mistake for us and we're busy changing these servers back to nice simple XFS volumes.
And if you use more than 80% space performance degrades like a dog. We still use XFS for really large volumes though and it has always been fast and never missed a beat.
This is why people think BTRFS isn't any good, because someone waltses up and says yeah well it doens't have XXX feature which only _one_ other filesystem has so its clearly lacking and immature. The truth it it works great its sufficently fast and has been stable for years. Yes it doesn't have Raid5 or Raid Z if you would like and I can't import and export pools the way I can in ZFS, but honestly if you jumping on a FS that has been marked stable for all of two days on Linux and your reasoning is you can't do software raid on the other one then best of luck to you.
To be fair: FUD only flourishes in the absence of evidence. People will take btrfs more seriously when distros start shipping it by default and when "serious players" start blogging about how they are using it and how great it works.
Honestly the same can be said about ZFS on Linux (and, quite frankly, even ZFS on Solaris). When it becomes "just the standard filesystem that everyone knows works", then people will stop yelling about the software (though the license mess will be with us forever, sadly).
OpenSuse uses it, and I run it as my root partition. The snapshots are a wonderful system restore mechanism, and I have a cron script to snapshot root after a boot.
The only time I've ever had a problem with btrfs was after a power failure, but btrfsck worked to fix it (although since it isn't in fsck.btrfs, it doesn't automatically run on boot, so I had to use the repair partition).
I've been using it for a year. I have around 8 hard disks in my machine, running half a dozen filesystems from fat32 to ntfs to ext4 to xfs, but I like btrfs the most of the native linux FSes atm.
We use btrfs in production on thousands of nodes, and we make use of advanced features (nested snapshots, seed device snapshots, etc.) It has performed admirably so far, with only one problem attributable to btrfs itself (seed device incompatibility with device pools, seen in 3.2.0).
It may not have RAID 5/6, or time-proven stability, but it kicks ass and over time it will kick ZFS's ass not on technical grounds, but simply because ZFS has too much baggage and not enough community support.
What baggage does ZFS have?
Reiterating the GP's point, I don't see anything concrete about speed and stability. Let me throw in my 2e-2 USD. I've been running BTRFS on my laptop since Ubuntu 12.10 came out without any troubles. Installing Ubuntu on BTRFS was effortless and I even rigged up a script to do scheduled snapshots of my home directory (hourly, daily, etc.) and found this feature to be very handy a couple of times.
And i started using btrfs in 12.04 and reverted back to ext4 in 12.10 because it was awfully slow. Atleast noticable slower then ext3 (or 4, not sure what i had earlier). May have changed today, but yes.. It's not all great and nice for everyone ;)
i.e. == that is. e.g. = example. RAID5 is not major functionality, it should no longer exist.
Can you explain why you feel that way? ZFS has intelligently managed RAID that keeps the performance penalty minimal. I'd rather have multiple-redundancy parity than 2x mirroring, and it takes less space.
ZFS' raid-z is nothing but pain. Does it have standard raid-5 now?
There is RAID-Z2 which allows for 2 discs to fail and RAID-Z3 which allows for 3. Problem is rebuild time is still slow. I wouldn't recommend to use RAID-Z1.