1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

The Btrfs File-System Repair Tool Is Available

Linux Kernel

Published on 21 February 2012 07:15 AM EST
Written by Michael Larabel in Linux Kernel
8 Comments

After writing about Btrfs LZ4 compression support and that the Btrfs FSCK tool wasn't available, it turns out that there is the new Btrfs repair tool, but it's not widely known and it's not recommended to ever use it -- at least at this stage.

As pointed out by Phoronix readers, from the btrfs-progs Git tree on Kernel.org is a new branch that was pushed a little more than one week ago. This new branch is called "dangerdonteveruse" (expanded: don't ever use [it]) and contains the ability to fix Btrfs file-systems.

From a Phoronix reader, "The fixing-fsck for btrfs is not missing or behind closed doors in any sense, it's just not advertised (as the only thing worse than an unmountable filesystem is a mountable filesystem with the data hopelessly garbled). That decision been completely vindicated by the number of people who come into #btrfs or posting on the mailing list about broken filesystems only after they've run btrfs-zero-log (a tool to fix one very specific problem) or btrfs-select-super (which destructively overwrites the other supers with the selected one: you get one shot)"

Over the current state of btrfs-progs proper, this "don't ever use" branch has new balance support commands for balancing chunks across drives and other RAID restriper work, a new sub-command parser, and most notably is the --repair option. The new btrfsck --repair option currently handles fixing errors in the extent allocation tree and block group accounting. The btrfsck program has also picked up an --init-csum-tree command that will replace the check-sum root with an empty one. This will clear out the CRCs but allow the Btrfs file-system to be mounted with the nodatasum mount option.

In order to test out this support, the btrfs-corrupt-block utility in btrfs-progs has picked up an -e option, which will corrupt the extent record by zeroing out the extent allocation tree records. There's also now a -E option to randomly corrupt the extent_root.

The last commit to the "dangerdonteveruse" branch was on 10 February, which comes in just shy of the Valentine's Day deadline. Btrfs is going production ready in Oracle Linux and other Linux distributions will likely follow suit in the coming months and years. Fedora 18 will likely make the move to Btrfs as the first mainstream/tier-one distribution as right now Fedora, openSUSE, Ubuntu, and others just have Btrfs as an alternate install-time option for the root file-system.

At this time there's no word when Chris Mason will recommend the new btrfs-progs use in mass / merge it to master. Until then, obviously use the new "btrfsck" at your own risk. There's also no word on when any other repair functionality will be added to this file-system checker utility. At least the code is finally available to begin repairing Btrfs file-systems if left in a bad state, after it's been a "work in progress" for what seems like ages. Btrfs has been in the mainline Linux kernel since 2009.

About The Author
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 and or contacted via .
Latest Articles & Reviews
  1. Sub-$20 802.11n USB WiFi Adapter That's Linux Friendly
  2. The Lenovo T450s Is Working Beautifully With Linux
  3. Linux 4.0 SSD EXT4 / Btrfs / XFS / F2FS Benchmarks
  4. Linux 4.0 Hard Drive Comparison With Six File-Systems
  5. Lenovo ThinkPad T450s Broadwell Preview
  6. How Open-Source Allowed Valve To Implement VULKAN Much Faster On The Source 2 Engine
Latest Linux News
  1. Features Thus Far For The Linux 4.1 Kernel
  2. Intel's Turbostat Adds Skylake Support In Linux 4.1
  3. Microsoft's Open-Source Group Merges Back Into The Company
  4. EXT4 In Linux 4.1 Adds File-System Level Encryption
  5. Open-Source Ardour 4.0 Audio Software Has Big Improvements
  6. Linux-Powered Endless Computer Raises $100k+ In A Few Days
  7. GCC 5.1 RC2 Arrives, GCC 5.1 Planned For Next Week
  8. F2FS For Linux 4.1 Has New Features & Fixes
  9. Phoronix Server Upgrade This Weekend: Dual Haswell Xeons, 96GB DDR4
  10. Google's Experimental QUIC Transport Protocol Is Showing Promise
Most Viewed News This Week
  1. Nouveau: NVIDIA's New Hardware Is "VERY Open-Source Unfriendly"
  2. Linux 4.0 Kernel Released
  3. Linux 4.1 Brings Many Potentially Risky x86/ASM Changes
  4. Microsoft Announces An LLVM-Based Compiler For .NET
  5. VirtualBox 5.0 Beta 2 Released
  6. KDBUS Is Taking A Lot Of Heat, Might Be Delayed From Mainline Linux Kernel
  7. Mozilla Start Drafting Plans To Deprecate Insecure HTTP
  8. LibreOffice 4.5 Bumped To Become LibreOffice 5.0