Btrfs has been officially proposed as default filesystem for 13.1.
If you have comments on this, you’d better make them on that thread in
the factory mail list. I only forward the post here for your reference.
Carlos E.R.
-------- Original Message --------
Subject: [opensuse-factory] BtrFS as default fs?
Date: Tue, 03 Sep 2013 10:32:48 -0400
From: Jeff Mahoney <>
To: opensuse-factory@opensuse.org, openSUSE Kernel ML
<opensuse-kernel@opensuse.org>
Hi all -
Last month I posted queries to this list (and several other locations,
including the forums) asking about people’s experiences with btrfs. For
the most part it seemed like the experience had improved over time. Most
of the concerns were either with interactions with zypper or old
perceptions of instability that were based more on old impressions than
new testing. With the exception of an ENOSPC issue that had been
recently fixed, users actively using the file system seemed pretty
satisfied with it.
I posted a followup question a week or two later asking what people
thought about limiting the ‘supported’ feature set in the way we do in
SLES so that it’s clear to all users which parts of the file system are
considered stable.
A quick table of what that looks like:
Supported Unsupported
Snapshots Inode cache
Copy-on-Write Auto Defrag
Subvolumes RAID
Metadata Integrity Compression
Data Integrity Send / Receive
Online metadata scrubbing Hot add/remove
Manual defrag Seeding devices
Manual deduplication (soon) Multiple devices
“Big” Metadata (supported read-only)
Over time this table will change. Items from the Unsupported list will
move to the Supported list as they mature.
That proposal was pretty well received except, predictably, by those
using the features listed. In practice, all that’s required for those
users to continue uninterrupted is to add the ‘allow_unsupported=1’
option to the btrfs module either on the kernel command line or
/etc/modprobe.d. There is nothing inherently limiting to any openSUSE
user with this practice. The features are all still in the code and
available immediately just by setting a flag. It can even be done safely
after module load or even after file systems that don’t use the
unsupported features have been mounted. I intend to introduce this
functionality into openSUSE soon.
One other aspect to consider: Even though they are independent projects,
we’ve been focusing heavily on btrfs support in the SLES product. As a
result, the openSUSE kernel will end up getting much of that work ‘for
free’ since most of the same people maintain the kernel for both projects.
So that’s the “why it’s safe” part of the proposal. I haven’t gotten to
the “why” yet, but then you probably already know the “whys”.
Subvolumes. Built-in snapshots that don’t corrupt themselves when an
exception table runs out of space. Built-in integrity verification via
checksums. Built-in proactive metadata semantic checking via scrubbing.
Online defrag. Soon we’ll see online deduplication of arbitrary
combinations of files. The code is written, it just needs to be pulled
in. You’ve seen the rest of the feature set. Once we test more of it
under load and ensure that it’s mature enough to roll out, you’ll get
those features for free.
So, I’d like to propose that we use btrfs as the default file system for
the 13.1 release before we release the first beta.
Thanks for your time.
-Jeff
–
Jeff Mahoney
SUSE Labs