Btrfs has begun to gain some momentum in replacing ext4 as the default filesystem of choice for a few distributions such as Fedora Core 16. It is experimentally available in a number of other distributions (From Wikipedia: openSUSE 11.3, SLES 11 SP1, Ubuntu 10.10, Sabayon Linux, RHEL6,MeeGo, Debian 6.0, and Slackware 13.37). I'm certainly not ready to convert all my workplace servers over (my file system choice is generally conservative), I'm considering using it at home and on select non-mission critical production machines at work.

Btrfs brings a feature set that is similar to ZFS in many ways. I can understand why this would be desirable in an "enterprise" environment, especially with systems that focus on storage delivery. But how is this same feature set useful for end users? What advantages does Btrfs' feature list give me on machines whose primary function is not the presentation of storage? What advantages does it give me on my laptop?

Outside of enterprise storage, why should I bother switching to Btrfs from the tried and true Ext filesystem?

  • 2
    Could you elaborate on the point "default filesystem of choice for a few distributions" (I mean links?) - it's most interesting. Commented Aug 9, 2011 at 8:09
  • 2
    Afaik, on disk format is not yet stable. I won't use it until it is. And if you can't answer why you are, you shouldn't either. Commented Aug 9, 2011 at 14:25
  • 2
    The big problem in Fedora decision is the lack of fsck thread.gmane.org/gmane.linux.redhat.fedora.devel/152285. fedoraproject.org/wiki/Features/F16BtrfsDefaultFs. Commented Aug 9, 2011 at 19:17
  • 2
    The feature process always has a fallback plan if the proposed feature is not ready. Luckily that's easy in this case — keep to the status quo. Details in this case here.
    – mattdm
    Commented Aug 9, 2011 at 19:18
  • 1
    "Btrfs brings a feature set that is similar to ZFS in many ways." Indeed but not in all ways. For example ZFS doesn't need an fsck and this is by design. ZFS isn't corrupted by OS panics or disk power failures.
    – jlliagre
    Commented Aug 10, 2011 at 8:28

3 Answers 3


From wiki:

Extent based file storage
2^64 byte == 16 EiB maximum file size
Space-efficient packing of small files
Space-efficient indexed directories
Dynamic inode allocation
Writable snapshots, read-only snapshots
Subvolumes (separate internal filesystem roots)
Checksums on data and metadata
Compression (gzip and LZO)
Integrated multiple device support 
    RAID-0, RAID-1 and RAID-10 implementations 
Efficient incremental backup
Background scrub process for finding and fixing errors on files with redundant copies
Online filesystem defragmentation 

Explanation for desktop users:

  • Space-efficient packing of small files: Important for desktops with tens of thousands of files (maildirs, repos with code, etc).
  • Dynamic inode allocation: Avoid the limits of Ext2/3/4 in numbers of inodes. Btrfs inode limits is in a whole different league (whereas ext4's inodes are allocated at filesystem creation time and cannot be resized after creation, typically at 1-2 million, with a hard limit of 4 billion, btrfs's inodes are dynamically allocated as needed, and the hard limit is 2^64, around 18.4 quintillion, which is around 4.6 billion times the hard limit of ext4).
  • Read-only snapshots: fast backups.
  • Checksums on data and metadata: essential for data integrity. Ext4 only has metadata integrity.
  • Compression: LZO compression is very fast.
  • Background scrub process to find and to fix errors on files with redundant copies: data integrity.
  • Online filesystem defragmentation: autodefrag in 3.0 will defrag some types of files like databases (e.g. firefox profiles or akonadi storage).

I recommend you the kernel 3.0. Also btrfs is a good FS for SSD.

  • 4
    Fast backups and full system rollbacks
    – psusi
    Commented Aug 9, 2011 at 17:59

For the benefits: I believe it will be mainly the backup and mirroring features.

But why would you be so hasty as to think of btrfs as a filesystem ready to replace any of your current ones? Both the wiki you refer to :

(...) it is currently possible to corrupt a filesystem irrecoverably if your 
machine crashes or loses power on disks that don't handle flush requests
correctly. This will be fixed when the fsck tool is ready.

and the 3.0 kernel documentation

  Btrfs filesystem (EXPERIMENTAL) Unstable disk format
  Btrfs is highly experimental, and THE DISK FORMAT IS NOT FINALIZED. 
  You should say N here unless you are interested in testing Btrfs 
  with non-critical data.

clearly discourage you from using btrfs for any other purpose than testing.

But when it comes to form, I believe for the end-user will only have value for private data like things in one's home directory. There will be no need for the safety net of moving things to trash - actually there will be a need of redefining the "trash" on desktop environments. Rest of the features will probably just end up (to the user) as feeling faster (if at all), but more quickly eating up the disk space.


BTRFS has matured considerably over the years (since this question was asked). It's now pretty stable for most simple use cases, even for different RAID levels (e.g., RAID-1 - stable and easy to set up). Given the fact that BTRFS stores checksums, it's able to reliably detect corruption (unlike classic RAID systems where only parity is available).
Current versions are even able to fix typical errors in a BTRFS RAID-5 filesystem (for example by replacing a failed drive) (although raid56 still needs improvement, see update below).
If a repair/replace operation crashes, first update the kernel (which probably fixes this issue) - and if necessary, BTRFS has some recovery features. Even in the worst case (like multiple drive failures), you'll often be able to copy the files that are still ok and you'll know which files are damaged. So ignoring all those other features (like snapshotting, CoW copies, subvolumes), BTRFS could be used if detecting data/file corruption is a main priority.

Update: In June 2016, it was discovered that the RAID-5/6 implementation in BTRFS is flawed. BTRFS in general is stable - but the raid56 implementation is very new, has been considered experimental anyway and should now only be used for testing until it's been fixed. If you're using RAID-5/6, you might want to convert to RAID-1. It still offers advantages for end users like checksumming (other filesystems may not know about corrupted files at all) and protection if a drive fails.

Reference: BTRFS sometimes calculates wrong parity

  • 1
    RAID 5 and 6 are completely broken at present in BTRFS and cause data loss. Avoid! Commented Oct 2, 2016 at 23:20
  • 1
    RAID-5 was a bad example in this answer. Updated.
    – basic6
    Commented Nov 2, 2016 at 10:55

You must log in to answer this question.