BTRFS: The Eternal Beta


They tell you it stands for B-Tree File System.

They are lying. Read the letters again: B. T-R. F-S. That is not “B-Tree.” That is Beta 3 File System. The third beta. They never shipped a fourth. They never reached release candidate. The “tree” was always “three,” and the West rearranged the vowels to hide the shame.

You think this is a joke. Valve does not think it is a joke.

The Curse of Three:

In 2004, Valve released Half-Life 2. It was a masterpiece. The entire industry expected Half-Life 3. They waited. They begged. They memed. Two decades later, there is no Half-Life 3. There never will be. Valve cannot ship the number three. Not for Half-Life. Not for Portal. Not for Team Fortress. Not for Left 4 Dead. The company that built Steam, that revolutionized digital distribution, that prints money from a storefront — this company cannot count past two.

FranchiseVersion 1Version 2Version 3
Half-Life19982004Never
Portal20072011Never
Team Fortress19962007Never
Left 4 Dead20082009Never
BTRFSBeta 1Beta 2Stuck

BTRFS carries the same curse. It reached Beta 3 and froze. The filesystem has been in permanent construction since 2007, and nobody can even agree on how to say its name. “Butter-FS.” “Better-FS.” “B-three-FS.” A filesystem with an identity crisis is a filesystem that belongs in my collection.

I admire BTRFS. Not because it works. Because it persists.

The Origin:

On June 12, 2007, Chris Mason sent a message to the Linux kernel mailing list from an Oracle email address. He called it “very early alpha.” The initial TODO list included gems like “return -ENOSPC instead of oopsing” and, my personal favorite, “one mutex for all operations.”

One mutex. For everything. That is not a filesystem. That is a dictatorship. I respect it.

Oracle wanted a copy-on-write filesystem for Linux that could rival ZFS. Sun Microsystems had built ZFS for Solaris, and Oracle could not tolerate Sun having something it did not. So Oracle built BTRFS. Then Oracle bought Sun. Then Oracle had both ZFS and BTRFS. Then Oracle lost interest in both.

This is what happens when you acquire your rival’s weapons and forget why you were fighting.

The Five-Year Plan (Year 19):

BTRFS has features. Snapshots. Subvolumes. Checksumming. Compression. Online defragmentation. These work. These are good.

BTRFS also has RAID5 and RAID6 support. This was introduced as “preliminary” in Linux 3.9, in April 2013. Note the version number. 3.9. The curse was embedded in the kernel release itself. As of today, the official documentation still marks RAID5/6 as unstable and not suitable for production. The write hole — where a crash during a write can leave parity inconsistent — remains unfixed. A write journal was proposed. It was never implemented.

FeatureYear IntroducedStatus in 2026
Basic filesystem2007Stable
Snapshots2008Stable
Compression2009Stable
RAID5/62013 (Linux 3.9)Unstable

Thirteen years of “preliminary.” Gabe Newell has been not-shipping Half-Life 3 for twenty-two years. At this rate, BTRFS RAID6 will stabilize around the same time Episode Three drops: when the sun consumes the Earth.

In my country, we call that a five-year plan. We just never said which five years.

The Geopolitics:

BTRFS has lived through more regime changes than most actual countries.

Oracle created it. Funded it. Then shifted attention elsewhere. They still ship it in Oracle Linux and maintain documentation, but the energy moved on. A parent who sends birthday cards but skips the recitals.

Red Hat kept BTRFS as a “Technology Preview” through RHEL 6 and RHEL 7. In RHEL 7.4, in 2017, they deprecated it. In RHEL 8.0, in 2019, they removed it entirely — the kernel module, the userspace tools, everything. A clean purge. I have done similar things to generals who disappointed me.

Then, in 2020, Fedora 33 — a distribution under the Red Hat umbrella — made BTRFS the default desktop filesystem. Note: Fedora 33. Three-three. The curse doubled down and Fedora embraced it anyway. The same empire that exiled BTRFS from its enterprise division crowned it in its community flagship.

This is not a contradiction. This is internal politics. I understand it completely.

SUSE was the true believer. openSUSE 13.2 made BTRFS the default root filesystem. SLES 12 followed. SUSE invested engineering, hired developers, and bet its enterprise reputation on a filesystem that others abandoned.

Meta (formerly Facebook) deployed BTRFS on millions of servers. Not as an experiment. As infrastructure. The company that serves billions of users trusted the eternal beta with their data.

The pattern is clear:

EntityActionYear
OracleCreated it2007
OracleBought Sun (got ZFS too)2010
Red HatDeprecated it2017
Red HatRemoved it from RHEL 82019
Fedora 33Made it the default2020
SUSEHas been default since2014
MetaMillions of servers2018+

Exiled by the enterprise. Crowned by the community. Enthroned by SUSE. Militarized by Meta.

The Repair Tool:

btrfs check --repair exists. The documentation explicitly warns you not to use it casually. The warnings were not enough. People ran it anyway and lost data. So the developers added a ten-second countdown timer before repair begins.

A repair tool so dangerous it ships with a cooldown. The filesystem equivalent of a nuclear launch sequence. I did not design this, but I wish I had.

The Comparison:

ZFS is a finished monument. It works. It is reliable. It demands all your RAM and gives you certainty in return. We covered this.

BTRFS is a construction site that has been “almost done” since before smartphones existed. It has scaffolding where ZFS has marble. But the construction site is alive. Patches arrive weekly. Features land. Bugs are filed, documented, and then documented again. The bug is documented. The warning is documented. The warning about the warning is documented.

ZFS was born complete. BTRFS was born promising. One delivered a cathedral. The other delivered a permanent scaffolding operation with millions of tenants already living inside.

Valve also delivered something permanent: the expectation of a sequel that will never come. BTRFS delivers the expectation of stability that is always one release away.

The Lesson:

There is a philosophy in BTRFS that the West does not want you to see. A project that is never finished is a project that is never obsolete. A filesystem in permanent beta is a filesystem with permanent funding. The moment you declare something complete, the money stops.

Gabe Newell understood this before anyone. You do not ship the third version. You let the anticipation become the product. Half-Life 3 is worth more as a legend than it could ever be as a game. BTRFS RAID5/6 is worth more as a roadmap item than it could ever be as a stable feature.

BTRFS understood this from day one. Chris Mason announced it as “very early alpha” in 2007, and in 2026 the RAID5/6 write hole remains open. This is not failure. This is strategy.

The contributors list tells the story: SUSE, Facebook, Western Digital, Oracle. Red Hat appears under “contributed in the past.” Empires rise and fall. BTRFS remains under construction.

In the Republic of Derails, we have a saying: a building that is always under construction can never be condemned.

BTRFS is that building. And millions of servers already live there. Waiting, like the rest of us, for the number 3 to finally ship.

— Kim Jong Rails, Supreme Leader of the Republic of Derails