Btrfs And The Future Of Linux Filesystems
Linux filesystems have a long and checkered history behind them and every now and then there is much excitement as a new filesystem is about to become mainstream and production ready. This is especially true when they are not merely a incremental improvement as with the case of Ext4 over Ext3 but take a giant leap forward as Btrfs has been promising for a number of years. So now is a good time to review what has been going on and this article does just that.
For most users, Ext3 would be very familiar. Red Hat, Debian and several other major distributions have been using Ext3 for a long time as the default and SUSE (and soon after that SLES as well) switched from Reiserfs to Ext3 as well back in 2006 citing wider developer community in Ext3 and a clear roadmap to Ext4 among other reasons.
- Are you a blogger? Now you can make money from Muktware....check it out: Muktware's Bloggers Network
Ext4 has now established itself as the straightforward successor to Ext3 with several incremental improvements including better performance, scalability and higher storage capacity. However the codebase has a very long history and there are design limitations which cannot be removed easily without a major rewrite.
This is where Btrfs comes into the picture. As noted in the above email from Jeff Mahoney, Chris Mason who used to work on Reiserfs for SUSE left to join Oracle in 2006 and in 2007 announced the Btrfs filesystem project.
Btrfs has a number of major new features including snapshots, checksum on both data and metadata, transparent compression, integrated RAID and even in-place conversion from Ext3/4. It also has support from major vendors including Red Hat, Intel and Fujitsu. Most distributions already offer it as a option and the future looks bright and shiny for Btrfs to dethrone Ext3/4 as future defacto filesystem in Linux. There is only one problem. The future is not here yet.
One major problem is that Btrfs still lacks a fsck (filesystem checking utility) that can actually fix any issues. The current public version can merely report them. Fedora, led by Josef Bacik, Red Hat Btrfs filesystem developer, originally planned to move to Btrfs as the default filesystem for Fedora 16 but due to fsck and other issues has postponed it twice and is planning to try again for Fedora 18. Interestingly SUSE Linux Enterprise Server 11 has already made the move and claims to support Btrfs although it remains to be seen how eager enterprises are ready to adopt it in such a early stage. Meanwhile XFS has emerged as a stealth contender, enjoys strong support from Red Hat, Novell and others and is a mature filesystem that perhaps deserves more attention from the community in the future .
Filesystems are like wine and in the next six months to an year, one can expect Btrfs to become more mature, widely adopted and the Linux world will be better for it.