From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: Poll: time to switch skinny-metadata on by default?
Date: Wed, 22 Oct 2014 02:08:21 +0000 (UTC) [thread overview]
Message-ID: <pan$19856$ee791297$ceeef1ce$27ae8dc@cox.net> (raw)
In-Reply-To: CAGfcS_nTbXQQTOC+QcBX8dbwk18Qbf-+JonQSw4WP6MOFg2z7A@mail.gmail.com
Rich Freeman posted on Tue, 21 Oct 2014 12:40:01 -0400 as excerpted:
> On Tue, Oct 21, 2014 at 5:29 AM, Duncan <1i5t5.duncan@cox.net> wrote:
>> David Sterba posted on Mon, 20 Oct 2014 18:34:03 +0200 as excerpted:
>>
>>> On Thu, Oct 16, 2014 at 01:33:37PM +0200, David Sterba wrote:
>>>> I'd like to make it default with the 3.17 release of btrfs-progs.
>>>> Please let me know if you have objections.
>>>
>>> For the record, 3.17 will not change the defaults. The timing of the
>>> poll was very bad to get enough feedback before the release. Let's
>>> keep it open for now.
>>
>> FWIW my own results agree with yours, I've had no problem with skinny-
>> metadata here, and it has been my default now for a couple
>> backup-and-new-
>> mkfs.btrfs generations, now.
>>
>>
> How does one enable it for an existing filesystem? Is it safe to just
> run btrfstune -x? Can this be done on a mounted filesystem? Are there
> any risks with converting?
AFAIK, enabling skinny-metadata with btrfstune simply enables it for
future metadata commits. It doesn't change existing metadata. However,
with skinny-metadata enabled, doing a balance start -m will rewrite
existing metadata, thus converting it to skinny if it wasn't skinny
before.
Since the kernel has code for both "fat" metadata and skinny-metadata,
they can exist side-by-side and the kernel will use whichever code is
appropriate. And since (afaik) a balance effects conversion of existing
metadata by simply rewriting it using the same metadata writing paths
it'd normally use only now on the skinny-metadata side, there should be
no additional risk to that, either.
The narrow-case additional risk there is would be due to the fact that
the code paths are different, and while both paths have been well
exercised by now with no bugs related to those specific code paths in
awhile, in theory anyway, it's narrowly possible that an individual
installation's use-case and data happened to work just fine on the
available metadata, but will trigger some exotic and as yet unseen bug
when you switch to skinny-metadata and thus exercise the other code-
path. I'd call the risk of that nonzero but extremely unlikely.
IOW, if you're familiar with Douglas Adams' Hitchhiker's Guide series,
it's almost the kind of probability that you'd need an improbability
drive to hit. =:^)
If not, compare it to winning the lottery or getting struck by
lightening, yes, people do sometimes do it, but it's not something you
should plan your life around, particularly if you aren't in the habit of
playing golf and sticking a club in the air, in the middle of a lightning
storm! =:^)
And if you're adverse to that sort of odds, why are you playing with
still not entirely stable btrfs at this point, anyway?
As for the mounted filesystem question, since all it does is flip a
switch so that new metadata writes use the skinny-metadata code path, it
shouldn't be a problem. However, I'd probably do it on an unmounted
filesystem here, simply because there's no reason to tempt fate... unless
your goal is to see what happens, of course. =:^)
Matter of fact, personally, since I tend to periodically backup, do a
fresh mkfs.btrfs with the new features I want enabled, and restore, I've
never actually used btrfstune for this myself, either. But that's more a
matter of that being the most convenient time to switch it over since I'm
already doing the fresh mkfs anyway, than because I'm being overly
cautious. Still, for those with a similar btrfs rotation system already
in place, why tempt fate, unless of course your whole /object/ is a
deliberate test and tempt of fate?
BTW...
@ Dave Sterba: I'm running no-holes too, and haven't had problems with it
either, tho it's obviously a bit newer and doesn't yet have the degree of
testing that skinny-metadata has. Any idea when that'll go default?
It's probably best to stagger them, which probably means default no-holes
for the 3.19 userspace release since default skinny-metadata is
presumably going to be 3.18 now; does that sound about right?
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
next prev parent reply other threads:[~2014-10-22 2:08 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-16 11:33 Poll: time to switch skinny-metadata on by default? David Sterba
2014-10-20 16:34 ` David Sterba
2014-10-21 9:29 ` Duncan
2014-10-21 11:02 ` Austin S Hemmelgarn
2014-10-21 12:35 ` Konstantinos Skarlatos
2014-10-21 16:40 ` Rich Freeman
2014-10-22 2:08 ` Duncan [this message]
2014-10-22 12:49 ` Dave
2014-10-23 2:41 ` Duncan
2014-10-23 13:37 ` David Sterba
2014-10-23 14:47 ` Tobias Geerinckx-Rice
2014-10-24 1:33 ` Duncan
2014-10-25 12:24 ` Marc Joliet
2014-10-25 19:58 ` Marc Joliet
2014-10-27 1:30 ` Marc Joliet
2014-10-25 20:33 ` Chris Murphy
2014-10-25 20:35 ` Chris Murphy
2014-10-27 1:24 ` Marc Joliet
2014-10-27 7:50 ` Duncan
2014-10-27 4:39 ` Zygo Blaxell
2014-10-27 7:16 ` Duncan
-- strict thread matches above, loose matches on Subject: below --
2014-10-17 12:30 Petr Janecek
2014-10-17 18:25 ` Josef Bacik
2014-10-18 11:21 ` Petr Janecek
2014-10-18 14:04 ` Josef Bacik
2014-10-18 15:52 ` Wang Shilong
2014-10-18 15:53 ` Josef Bacik
2014-10-18 16:01 ` Wang Shilong
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='pan$19856$ee791297$ceeef1ce$27ae8dc@cox.net' \
--to=1i5t5.duncan@cox.net \
--cc=linux-btrfs@vger.kernel.org \
/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