From: Dan Merillat <dan.merillat@gmail.com>
To: "Austin S. Hemmelgarn" <ahferroin7@gmail.com>
Cc: Juan Orti Alcaine <j.orti.alcaine@gmail.com>,
Btrfs BTRFS <linux-btrfs@vger.kernel.org>,
Marco Lorenzo Crociani <marcoc@prismatelecomtesting.com>,
Roman Mamedov <rm@romanrm.net>
Subject: Re: mount time for big filesystems
Date: Fri, 1 Sep 2017 18:41:02 -0400 [thread overview]
Message-ID: <CAPL5yKcBp0ZeG942+5rwTbci88+dSN4uPuFe++7SeDLuw8mKpA@mail.gmail.com> (raw)
In-Reply-To: <208a4dda-0628-1e1b-1118-b8921f86fedd@gmail.com>
On Fri, Sep 1, 2017 at 11:20 AM, Austin S. Hemmelgarn
<ahferroin7@gmail.com> wrote:
> No, that's not what I'm talking about. You always get one bcache device per
> backing device, but multiple bcache devices can use the same physical cache
> device (that is, backing devices map 1:1 to bcache devices, but cache
> devices can map 1:N to bcache devices). So, in other words, the layout I'm
> suggesting looks like this:
>
> This is actually simpler to manage for multiple reasons, and will avoid
> wasting space on the cache device because of random choices made by BTRFS
> when deciding where to read data.
Be careful with bcache - if you lose the SSD and it has dirty data on
it, your entire FS is gone. I ended up contributing a number of
patches to the recovery tools digging my array out from that. Even
if a single file is dirty, the new metadata tree will only exist on
the cache device, which doesn't honor barriers writing back to the
underlying storage. That means it's likely to have a root pointing
at a metadata tree that's no longer there. The recovery method is
finding an older root that has a complete tree, and recovery-walking
the entire FS from that.
I don't know if dm-cache honors write barriers from the cache to the
backing storage, but I would still recommend using them both in
write-through mode, not write-back.
prev parent reply other threads:[~2017-09-01 22:41 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-31 10:43 mount time for big filesystems Marco Lorenzo Crociani
2017-08-31 11:00 ` Hans van Kranenburg
2017-08-31 11:22 ` Austin S. Hemmelgarn
2017-08-31 11:36 ` Roman Mamedov
2017-08-31 11:45 ` Austin S. Hemmelgarn
2017-08-31 12:16 ` Roman Mamedov
2017-08-31 14:13 ` Qu Wenruo
2017-09-01 13:52 ` Juan Orti Alcaine
2017-09-01 13:59 ` Austin S. Hemmelgarn
[not found] ` <CAC+fKQWFbdF6b3jGO_6hG_pNNzKobBYMeSNyEi5XRCf5YKa81Q@mail.gmail.com>
2017-09-01 15:20 ` Austin S. Hemmelgarn
2017-09-01 22:41 ` Dan Merillat [this message]
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=CAPL5yKcBp0ZeG942+5rwTbci88+dSN4uPuFe++7SeDLuw8mKpA@mail.gmail.com \
--to=dan.merillat@gmail.com \
--cc=ahferroin7@gmail.com \
--cc=j.orti.alcaine@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=marcoc@prismatelecomtesting.com \
--cc=rm@romanrm.net \
/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).