All of lore.kernel.org
 help / color / mirror / Atom feed
From: Remi Gauvin <remi@georgianit.com>
To: linux-btrfs@vger.kernel.org
Subject: [PATCH RFC] btrfs: Do extra device generation check at mount time
Date: Thu, 28 Jun 2018 12:00:19 -0400	[thread overview]
Message-ID: <9f8bf838-85ac-6659-40dd-ba9d9be24d48@georgianit.com> (raw)
In-Reply-To: <20180628143618.dcwakob5jw2ccx4y@angband.pl>

On 2018-06-28 10:36 AM, Adam Borowski wrote:

> 
> Uhm, that'd be a nasty regression for the regular (no-nodatacow) case. 
> The vast majority of data is fine, and extents that have been written to
> while a device is missing will be either placed elsewhere (if the filesystem
> knew it was degraded) or read one of the copies to notice a wrong checksum
> and automatically recover (if the device was still falsely believed to be
> good at write time).
> 
> We currently don't have selective scrub yet so resyncing such single-copy

That might not be the case. though I don't really know the numbers
myself and repeating this is hearsay:

crc32 is not infallible.  1 in so many billion errors will be undetected
by it.  In the case of a dropped device with write failures, when you
*know* the data supposedly written to the disk is bad, re-synching from
believed good copy (so long as it passes checksum verification, of
course), is the only way to be certain that the data is good.


Otherwise, you can be left with a Schroedinger's bit somewhere,  (It's
not 0 or 1, but both, depending on which device the filesystem is
reading from at the time.)



  reply	other threads:[~2018-06-28 16:00 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-28  7:04 [PATCH RFC] btrfs: Do extra device generation check at mount time Qu Wenruo
2018-06-28  7:06 ` Nikolay Borisov
2018-06-28  7:15   ` Qu Wenruo
2018-06-28  7:30     ` Paul Jones
2018-06-29  3:25     ` james harvey
2018-06-28  7:17 ` Su Yue
2018-06-28  7:16   ` Qu Wenruo
2018-06-28  8:02 ` Qu Wenruo
2018-06-28 13:26   ` Anand Jain
2018-06-28 13:29     ` Qu Wenruo
2018-06-28  8:04 ` Nikolay Borisov
2018-06-28 10:58   ` Qu Wenruo
2018-06-28 14:34 ` Alberto Bursi
2018-06-28 14:36 ` Adam Borowski
2018-06-28 16:00   ` Remi Gauvin [this message]
2018-06-29  0:17   ` Qu Wenruo

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=9f8bf838-85ac-6659-40dd-ba9d9be24d48@georgianit.com \
    --to=remi@georgianit.com \
    --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 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.