public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
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.

  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