From: "Austin S. Hemmelgarn" <ahferroin7@gmail.com>
To: dsterba@suse.cz, Waxhead <waxhead@online.no>,
linux-btrfs@vger.kernel.org
Subject: Re: Is stability a joke?
Date: Mon, 12 Sep 2016 10:54:40 -0400 [thread overview]
Message-ID: <52304724-5bca-a1e6-527f-040085c7ab19@gmail.com> (raw)
In-Reply-To: <20160912142714.GE16983@twin.jikos.cz>
On 2016-09-12 10:27, David Sterba wrote:
> Hi,
>
> first, thanks for choosing a catchy subject, this always helps. While it
> will serve as another beating stick to those who enjoy bashing btrfs,
> I'm glad to see people answer in a constructive way.
>
> On Sun, Sep 11, 2016 at 10:55:21AM +0200, Waxhead wrote:
>> I have been following BTRFS for years and have recently been starting to
>> use BTRFS more and more and as always BTRFS' stability is a hot topic.
>> Some says that BTRFS is a dead end research project while others claim
>> the opposite.
>
> I take the 'research' part, as it's still possible to implement features
> that were not expected years ago, but not a research in the sense "will
> shadowing and clones approach to b-trees work?", ie. the original paper
> by Ohad Rodeh from 2007. That we can still add various metadata and
> structures to the same underlying format proves that the design is sound
> and flexible, building on the same primitives, only extending the
> logical structure.
>
> But I'm sure you'll find people who still claim that btrfs is broken by
> design, because they heared somebody say that [1].
There have been a lot of things that hurt BTRFS's reputation. I don't
see this one as quite as much of an issue as the fiasco that was the
original merge with mainline and the fact that a lot of distros added
'support' before it was at all ready. IMHO, if a distro is going to
provide a filesystem as their default, then their default configuration
needs to work with no user intervention for more than 90% of their
users, and BTRFS has not been and still is not there at least with it's
default options.
>
>> Taking a quick glance at the wiki does not say much about what is safe
>> to use or not and it also points to some who are using BTRFS in production.
>> While BTRFS can apparently work well in production it does have some
>> caveats, and finding out what features is safe or not can be problematic
>> and I especially think that new users of BTRFS can easily be bitten if
>> they do not do a lot of research on it first.
>
> That's a valid point, the wiki lacks that, the usrespace tools do not
> warn or prevent before using features deemed unsafe. In the enterprise
> SLES kernel we can afford to draw a line where the support from our side
> ends, regardless of the upstream status of the features. Doing that in
> the upstream kernel is a bit different, the release and update schedules
> are not the same, code is not selectively backported etc.
The other problem though is that what is considered unsafe varies by use
case and a bunch of other factors. As an example, SUSE obviously
considers qgroups safe, but I and a number of other list regulars do
not. Similarly, LZO compression is something I would consider safe
under specific circumstances (namely, if you have reliable hardware and
can expect to be able to replace a failing component before you get
storms of read or write failures), but not in others.
>
>> The Debian wiki for BTRFS (which is recent by the way) contains a bunch
>> of warnings and recommendations and is for me a bit better than the
>> official BTRFS wiki when it comes to how to decide what features to use.
>
> The 'wiki problem' is real, for too long people went to distro wikis for
> generic information, so even if our k.org wiki is up to date, it's not
> the primary source anyway. Changing that back is a long-term goal.
>
>> The Nouveau graphics driver have a nice feature matrix on it's webpage
>> and I think that BTRFS perhaps should consider doing something like that
>> on it's official wiki as well
>>
>> For example something along the lines of .... (the statuses are taken
>> our of thin air just for demonstration purposes)
>>
>> Kernel version 4.7
>> +----------------------------+--------+-----+-------+-------+--------+-------+--------+
>> | Feature / Redundancy level | Single | Dup | Raid0 | Raid1 | Raid10 |
>> Raid5 | Raid 6 |
>> +----------------------------+--------+-----+-------+-------+--------+-------+--------+
>> | Subvolumes | Ok | Ok | Ok | Ok | Ok | Bad
>> | Bad |
>> +----------------------------+--------+-----+-------+-------+--------+-------+--------+
>> | Snapshots | Ok | Ok | Ok | Ok | Ok |
>> Bad | Bad |
>> +----------------------------+--------+-----+-------+-------+--------+-------+--------+
>> | LZO Compression | Bad(1) | Bad | Bad | Bad(2)| Bad |
>> Bad | Bad |
>> +----------------------------+--------+-----+-------+-------+--------+-------+--------+
>> | ZLIB Compression | Ok | Ok | Ok | Ok | Ok |
>> Bad | Bad |
>> +----------------------------+--------+-----+-------+-------+--------+-------+--------+
>> | Autodefrag | Ok | Bad | Bad(3)| Ok | Ok |
>> Bad | Bad |
>> +----------------------------+--------+-----+-------+-------+--------+-------+--------+
>>
>> (1) Some explanation here...
>> (2) Some explanation there....
>> (3) And some explanation elsewhere...
>>
>> ...etc...etc...
>>
>> I therefore would like to propose that some sort of feature / stability
>> matrix for the latest kernel is added to the wiki preferably somewhere
>> where it is easy to find. It would be nice to archive old matrix'es as
>> well in case someone runs on a bit older kernel (we who use Debian tend
>> to like older kernels). In my opinion it would make things bit easier
>> and perhaps a bit less scary too. Remember if you get bitten badly once
>> you tend to stay away from from it all just in case, if you on the other
>> hand know what bites you can safely pet the fluffy end instead :)
>
> Somebody has put that table on the wiki, so it's a good starting point.
> I'm not sure we can fit everything into one table, some combinations do
> not bring new information and we'd need n-dimensional matrix to get the
> whole picture.
Agreed, especially because some things are only bad in specific
circumstances (For example, snapshots generally work fine on almost
anything, until you get into the range of more than about 250, then they
start causing issues).
>
> d.
>
>
> [1] https://btrfs.wiki.kernel.org/index.php/FAQ#..._btrfs_is_broken_by_design_.28aka._Edward_Shishkin.27s_.22Unbound.28.3F.29_internal_fragmentation_in_Btrfs.22.29
next prev parent reply other threads:[~2016-09-12 14:54 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-11 8:55 Is stability a joke? Waxhead
2016-09-11 9:56 ` Steven Haigh
2016-09-11 10:23 ` Martin Steigerwald
2016-09-11 11:21 ` Zoiled
2016-09-11 11:43 ` Martin Steigerwald
2016-09-11 12:05 ` Martin Steigerwald
2016-09-11 12:39 ` Waxhead
2016-09-11 13:02 ` Hugo Mills
2016-09-11 14:59 ` Martin Steigerwald
2016-09-11 20:14 ` Chris Murphy
2016-09-12 12:20 ` Austin S. Hemmelgarn
2016-09-12 12:59 ` Michel Bouissou
2016-09-12 13:14 ` Austin S. Hemmelgarn
2016-09-12 14:04 ` Lionel Bouton
2016-09-15 1:05 ` Nicholas D Steeves
2016-09-15 8:02 ` Martin Steigerwald
2016-09-16 7:13 ` Helmut Eller
2016-09-15 5:55 ` Kai Krakow
2016-09-15 8:05 ` Martin Steigerwald
2016-09-11 14:54 ` Martin Steigerwald
2016-09-11 15:19 ` Martin Steigerwald
2016-09-11 20:21 ` Chris Murphy
2016-09-11 17:46 ` Marc MERLIN
2016-09-20 16:33 ` Chris Murphy
2016-09-11 17:11 ` Duncan
2016-09-12 12:26 ` Austin S. Hemmelgarn
2016-09-11 12:30 ` Waxhead
2016-09-11 14:36 ` Martin Steigerwald
2016-09-12 12:48 ` Swâmi Petaramesh
2016-09-12 13:53 ` Chris Mason
2016-09-12 17:36 ` Zoiled
2016-09-12 17:44 ` Waxhead
2016-09-15 1:12 ` Nicholas D Steeves
2016-09-12 14:27 ` David Sterba
2016-09-12 14:54 ` Austin S. Hemmelgarn [this message]
2016-09-12 16:51 ` David Sterba
2016-09-12 17:31 ` Austin S. Hemmelgarn
2016-09-15 1:07 ` Nicholas D Steeves
2016-09-15 1:13 ` Steven Haigh
2016-09-15 2:14 ` stability matrix (was: Is stability a joke?) Christoph Anton Mitterer
2016-09-15 9:49 ` stability matrix Hans van Kranenburg
2016-09-15 11:54 ` Austin S. Hemmelgarn
2016-09-15 14:15 ` Chris Murphy
2016-09-15 14:56 ` Martin Steigerwald
2016-09-19 14:38 ` David Sterba
2016-09-19 15:27 ` stability matrix (was: Is stability a joke?) David Sterba
2016-09-19 17:18 ` stability matrix Austin S. Hemmelgarn
2016-09-19 19:52 ` Christoph Anton Mitterer
2016-09-19 20:07 ` Chris Mason
2016-09-19 20:36 ` Christoph Anton Mitterer
2016-09-19 21:03 ` Chris Mason
2016-09-19 19:45 ` stability matrix (was: Is stability a joke?) Christoph Anton Mitterer
2016-09-20 7:59 ` Duncan
2016-09-20 8:19 ` Hugo Mills
2016-09-20 8:34 ` David Sterba
2016-09-19 15:38 ` Is stability a joke? David Sterba
2016-09-19 21:25 ` Hans van Kranenburg
2016-09-12 16:27 ` Is stability a joke? (wiki updated) David Sterba
2016-09-12 16:56 ` Austin S. Hemmelgarn
2016-09-12 17:29 ` Filipe Manana
2016-09-12 17:42 ` Austin S. Hemmelgarn
2016-09-12 20:08 ` Chris Murphy
2016-09-13 11:35 ` Austin S. Hemmelgarn
2016-09-15 18:01 ` Chris Murphy
2016-09-15 18:20 ` Austin S. Hemmelgarn
2016-09-15 19:02 ` Chris Murphy
2016-09-15 20:16 ` Hugo Mills
2016-09-15 20:26 ` Chris Murphy
2016-09-16 12:00 ` Austin S. Hemmelgarn
2016-09-19 2:57 ` Zygo Blaxell
2016-09-19 12:37 ` Austin S. Hemmelgarn
2016-09-19 4:08 ` Zygo Blaxell
2016-09-19 15:27 ` Sean Greenslade
2016-09-19 17:38 ` Austin S. Hemmelgarn
2016-09-19 18:27 ` Chris Murphy
2016-09-19 18:34 ` Austin S. Hemmelgarn
2016-09-19 20:15 ` Zygo Blaxell
2016-09-20 12:09 ` Austin S. Hemmelgarn
2016-09-15 21:23 ` Christoph Anton Mitterer
2016-09-16 12:13 ` Austin S. Hemmelgarn
2016-09-19 3:47 ` Zygo Blaxell
2016-09-19 12:32 ` Austin S. Hemmelgarn
2016-09-19 15:33 ` Zygo Blaxell
2016-09-12 19:57 ` Martin Steigerwald
2016-09-12 20:21 ` Pasi Kärkkäinen
2016-09-12 20:35 ` Martin Steigerwald
2016-09-12 20:44 ` Chris Murphy
2016-09-13 11:28 ` Austin S. Hemmelgarn
2016-09-13 11:39 ` Martin Steigerwald
2016-09-14 5:53 ` Marc Haber
2016-09-12 20:48 ` Waxhead
2016-09-13 8:38 ` Timofey Titovets
2016-09-13 11:26 ` Austin S. Hemmelgarn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52304724-5bca-a1e6-527f-040085c7ab19@gmail.com \
--to=ahferroin7@gmail.com \
--cc=dsterba@suse.cz \
--cc=linux-btrfs@vger.kernel.org \
--cc=waxhead@online.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).