Error-Fixing Btrfs FSCK Tool Is Imminent

An fsck utility capable of fixing problems on the Btrfs file-system is imminent. Plus other features continue to be worked on for this next-generation, open-source Linux file-system.

Chris Mason, the Oracle employee who's been the lead developer of Btrfs, was one of the presenters this past weekend in Los Angeles at the SCALE 10x conference. Chris was obviously presenting on Btrfs.

In his hour-long talk, Chris went over the state of Btrfs, some of the features, performance, and contrasting this promising file-system to the other Linux file-systems (namely EXT4 and XFS).

During the talk, Chris did mention that RAID 5 and RAID 6 support will be pulled into the Btrfs tree once he is done with the file-system checking code. The RAID5/RAID6 code for Btrfs was written by Intel. This file-system-level RAID support complements the existing RAID 0, RAID 1, and RAID 10 support. RAID 5 offers block-level striping with parity data across all disk drives part of the RAID array. RAID 6 is an extension of RAID 5 that adds an additional parity block for having two parity blocks across all of the drives in the RAID array for greater redundancy and data loss recovering abilities.

Besides the RAID5/RAID6 Btrfs-level patches from Intel, Chris Mason will also be working on triple mirroring support for his file-system. Based upon the timeline of things, this greater RAID support will likely be merged for the Linux 3.4 or Linux 3.5 kernels. The Linux 3.4 kernel will also be bringing back support for larger block sizes, along with Snappy transparent compression support.

Now what everyone's been waiting for... the fsck utility for Btrfs that's read-write to support properly fixing the Btrfs file-system in the event of problems, is coming soon. The fsck utility for Btrfs that supports writing (a read-only version has been available) has undergone several rewrites by Chris, but he thinks he's onto the final implementation. It looks like this will finally be released by the middle of February.

The enterprise versions of Oracle Linux and SUSE Enterprise Server are going to be shipped with Btrfs support and for this there needs to be the fsck support in place. Chris says the deadline for this is the 14th of February.

Should the Btrfs fsck materialize in February, this may mean that the Fedora 17 "Beefy Miracle" Linux release will default to Btrfs as its file-system of choice. Fedora has been trying to be the first tier-one Linux distribution shipping with Btrfs by default, but it always ended up being cut largely because of the missing file-system checker.

Chris mentioned he would have preferred seeing all of this code running in Fedora first before the production enterprise releases of Oracle Linux and SUSE, but it just didn't work out. Fedora has been shipping with experimental Btrfs support for several releases now, including several interesting features to take advantage of the Btrfs file-system like system snapshots with roll-back support using the Btrfs copy-on-write snapshots.

A complete fsck utility also likely makes it closer to seeing Btrfs by default in Ubuntu Linux. Based upon how historically Fedora is first to pick-up upstream features and then a release or two later finding their way to Ubuntu, the feature freeze for Ubuntu 12.04 being in February (and being a Long-Term Support cycle), it wouldn't be until at least Ubuntu 12.10 in October that we see Btrfs within Ubuntu by default (it too has supported install-time Btrfs support for a few release cycles now). Chances are though the Btrfs migration wouldn't happen until Ubuntu 13.04, but we will see in a few months during the Ubuntu Developer Summit for 12.10 to see what happens.

Transparent encryption for Btrfs was also brought up. While transparent compression is supported (LZO, Gzip, and Snappy), transparent encryption isn't yet handled within Btrfs. There is support for a transparent encryption within the Btrfs on-disk format, but the rest of the code is not done. However, dm-crypt can be used just fine with Btrfs as a means of encryption for now, albeit with a slight latency cost.

Chris Mason also commented on Oracle's IP/patent state of Btrfs when brought up by an audience member. Oracle has no patents covering Btrfs. Additionally, Chris said he ensured early on to get some open-source kernel developers that are open-source fanatics and would "never agree to a license change" to get copyrighted code in Btrfs.

Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via Twitter and Google+ or contacted via MichaelLarabel.com.