linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: Unrecoverable fs corruption?
Date: Sun, 3 Jan 2016 15:00:33 +0000 (UTC)	[thread overview]
Message-ID: <pan$e83b6$5156a07d$651aae24$9dda2c0a@cox.net> (raw)
In-Reply-To: 1451709141.8761.16.camel@scientia.net

Christoph Anton Mitterer posted on Sat, 02 Jan 2016 05:32:21 +0100 as
excerpted:

> On Fri, 2016-01-01 at 08:13 +0000, Duncan wrote:
>> you can also try a read-only scrub
> OT: I just wondered, would a balance include everything a scrub includes
> (i.e. read+verify all data and rebuild an errors on different devices /
> block copies)... of course in addition to also copying all "good"
> data... and perhaps with the difference, that you don't get that
> detailed information as in scrub but only the kernel log messages about
> errors?

AFAIK, no, at least not by design, as balance works at the chunk level, 
while scrub works inside chunks, verifying the checksums on each block.

But now that I think about it, balance does read the chunk in ordered to 
rewrite its contents, and that read, like all reads, should normally be 
checksum verified (except of course in the case of nodatasum, which nocow 
of course implies).  So a balance completed without error /may/ 
effectively indicate a scrub would complete without error as well.  But 
it wasn't specifically designed for that, and if it does so, it's only 
doing it because all reads are checksum verified, not because it's 
actually purposely doing a scrub.

And even if balance works to verify no checksum errors, I don't believe 
it would correct them or give you the detail on them that a scrub would.  
And if there is an error, it'd be a balance error, which might or might 
not actually be a scrub error.

>> In this case,
>> you'll need to recover from the degraded-mount working device as if the
>> second one had entirely failed.
>> 
>> What I'd do in this case, if you haven't done so already, is that read-
>> only btrfs scrub, just to see where you are in terms of corruption on
>> the remaining device.
> I don't think that this is the best order of the steps - at least not
> when it's about precious data.
> 
> Doing a scrub at this phase, would just read all data, telling you the
> status,... but first you should try to copy as much as possible (just in
> case the remaining good drive fails as well) and *then* do the scrub to
> see what's actually good or not.

Good point.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


  reply	other threads:[~2016-01-03 15:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-31 23:36 Unrecoverable fs corruption? Alexander Duscheleit
2016-01-01  1:22 ` Chris Murphy
2016-01-01  8:13   ` Duncan
2016-01-02  4:32     ` Christoph Anton Mitterer
2016-01-03 15:00       ` Duncan [this message]
2016-01-04  0:05         ` Christoph Anton Mitterer
2016-01-06  7:35           ` Duncan
2016-01-02 10:53     ` Alexander Duscheleit
2016-01-02 21:19       ` Henk Slager
2016-01-03 15:53         ` Duncan
2016-01-03 16:24           ` Martin Steigerwald
2016-01-03 16:08       ` Duncan

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='pan$e83b6$5156a07d$651aae24$9dda2c0a@cox.net' \
    --to=1i5t5.duncan@cox.net \
    --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 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).