From: Austin S Hemmelgarn <ahferroin7@gmail.com>
To: Chris Murphy <lists@colorremedies.com>,
Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: How does btrfs handle bad blocks in raid1?
Date: Thu, 09 Jan 2014 13:20:34 -0500 [thread overview]
Message-ID: <52CEE872.8040804@gmail.com> (raw)
In-Reply-To: <DA8C6B1F-100C-46D0-8DF5-F77C85FB9A50@colorremedies.com>
On 2014-01-09 12:31, Chris Murphy wrote:
>
> On Jan 9, 2014, at 5:52 AM, Austin S Hemmelgarn
> <ahferroin7@gmail.com> wrote:
>> Just a thought, you might consider running btrfs on top of LVM in
>> the interim, it isn't quite as efficient as btrfs by itself, but
>> it does allow N-way mirroring (and the efficiency is much better
>> now that they have switched to RAID1 as the default mirroring
>> backend)
>
> The problem that in case of mismatches, it's ambiguous which are
> correct.
>
At the moment that is correct, I've been planning for some time now to
write a patch so that the RAID1 implementation on more than 2 devices
checks what the majority of other devices say about the block, and
then updates all of them with the majority. Barring a manufacturing
defect or firmware bug, any group of three or more disks is
statistically very unlikely to have a read error at the same place on
each disk until they have accumulated enough bad sectors that they are
totally unusable, so this would allow recovery in a non-degraded RAID1
array in most cases.
next prev parent reply other threads:[~2014-01-09 18:20 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-09 10:26 How does btrfs handle bad blocks in raid1? Clemens Eisserer
2014-01-09 10:42 ` Hugo Mills
2014-01-09 12:41 ` Duncan
2014-01-09 12:52 ` Austin S Hemmelgarn
2014-01-09 15:15 ` Duncan
2014-01-09 16:49 ` George Eleftheriou
2014-01-09 17:09 ` Hugo Mills
2014-01-09 17:34 ` George Eleftheriou
2014-01-09 17:43 ` Hugo Mills
2014-01-09 18:40 ` George Eleftheriou
2014-01-09 17:29 ` Chris Murphy
2014-01-09 18:00 ` George Eleftheriou
2014-01-10 15:27 ` Duncan
2014-01-10 15:46 ` George Mitchell
2014-01-09 17:31 ` Chris Murphy
2014-01-09 18:20 ` Austin S Hemmelgarn [this message]
2014-01-09 14:58 ` Chris Mason
2014-01-09 18:08 ` Chris Murphy
2014-01-09 18:22 ` Austin S Hemmelgarn
2014-01-09 18:52 ` Chris Murphy
2014-01-10 17:03 ` Duncan
2014-01-09 18:40 ` Chris Murphy
2014-01-09 19:13 ` Kyle Gates
2014-01-09 19:31 ` Chris Murphy
2014-01-09 23:24 ` George Mitchell
2014-01-10 0:08 ` Clemens Eisserer
2014-01-10 0:46 ` George Mitchell
[not found] <201401100106.s0A16CNd016476@atl4mhib27.myregisteredsite.com>
2014-01-10 1:31 ` George Mitchell
2014-01-14 19:13 ` Chris Murphy
2014-01-14 19:37 ` Roman Mamedov
2014-01-14 21:05 ` Chris Murphy
2014-01-14 21:19 ` Roman Mamedov
2014-01-14 21:37 ` Chris Murphy
2014-01-14 21:45 ` Chris Murphy
2014-01-14 21:54 ` Roman Mamedov
2014-01-14 20:29 ` George Mitchell
2014-01-14 21:00 ` Roman Mamedov
2014-01-14 21:06 ` Hugo Mills
2014-01-14 21:27 ` Chris Murphy
2014-01-14 21:27 ` George Mitchell
2014-01-14 21:28 ` George Mitchell
2014-01-14 21:14 ` Chris Murphy
2014-01-14 21:48 ` George Mitchell
2014-01-14 21:48 ` George Mitchell
2014-01-14 22:14 ` George Mitchell
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=52CEE872.8040804@gmail.com \
--to=ahferroin7@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=lists@colorremedies.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.