From: "Austin S. Hemmelgarn" <ahferroin7@gmail.com>
To: Chris Murphy <lists@colorremedies.com>,
Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Cc: Andrei Borzenkov <arvidjaar@gmail.com>,
Sean Greenslade <sean@seangreenslade.com>
Subject: Re: Spare Volume Features
Date: Tue, 3 Sep 2019 07:35:03 -0400 [thread overview]
Message-ID: <20e1a91f-2165-10e3-6183-fbce6dbe1da5@gmail.com> (raw)
In-Reply-To: <CAJCQCtR7_-vkMR=UHB9m_Hxw1K0dEZh6=5me7PfjH-Lp8f5ZSw@mail.gmail.com>
On 2019-09-01 21:09, Chris Murphy wrote:
> I'm still mostly convinced the policy questions and management should
> be dealt with a btrfsd userspace daemon.
>
> Btrfs kernel code itself tolerates quite a lot of read and write
> errors, where a userspace service could say, yeah forget that we're
> moving over to the spare.
>
> Also, that user space daemon could handle the spare device while its
> in spare status. I don't really see why btrfs kernel code needs to
> know about it. It's reserved for Btrfs but isn't used by Btrfs, until
> a policy is triggered. Plausibly one of the policies isn't even device
> failure, but the volume is nearly full. Spares should be assignable to
> multiple Btrfs volumes. And that too can be managed by this
> hypothetical daemon.
Having the kernel know about it means, among other things, that
switching to actually using the spare when needed is far less likely to
be delayed by an arbitrarily long time. Worst case scenario in
userspace is that the daemon gets paged out, but the executable is on
the volume it's supposed to be fixing and the volume is in a state that
it returns read errors until it gets fixed. In such a case, the volume
will never get fixed without manual intervention. Such a situation is
impossible if it's being handled by the kernel. This could be mitigated
by using mlock, but that brings it's own set of issues.
next prev parent reply other threads:[~2019-09-03 11:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-29 0:51 Spare Volume Features Marc Oggier
2019-08-29 2:21 ` Sean Greenslade
2019-08-29 22:41 ` waxhead
2019-09-01 3:28 ` Sean Greenslade
2019-09-01 8:03 ` Andrei Borzenkov
2019-09-02 0:52 ` Sean Greenslade
2019-09-02 1:09 ` Chris Murphy
2019-09-03 11:35 ` Austin S. Hemmelgarn [this message]
2019-08-30 8:07 ` Anand Jain
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=20e1a91f-2165-10e3-6183-fbce6dbe1da5@gmail.com \
--to=ahferroin7@gmail.com \
--cc=arvidjaar@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=lists@colorremedies.com \
--cc=sean@seangreenslade.com \
/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