From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: btrfs cleaner failure - fs/btrfs/extent-tree.c:5748 (3.14.0)
Date: Sun, 11 May 2014 02:28:23 +0000 (UTC) [thread overview]
Message-ID: <pan$31216$3d0b94d7$92fede49$858a4a3e@cox.net> (raw)
In-Reply-To: CAKhhfD5c+poPPEYd=VLcU7m8xjORx9yc8TY7M3jZDRUapRX__w@mail.gmail.com
Marc MERLIN posted on Fri, 09 May 2014 20:40:26 -0700 as excerpted:
> On May 10, 2014 10:09 AM, "Hugo Mills" <hugo@carfax.org.uk> wrote:
>> As in, "Your filesystem got corruption as a result of a bug in some
>> earlier version. Upgrading to the new version isn't magically going to
>> make that corruption go away". (Not saying that's what's happened here,
>> but it's common, and commonly misunderstood).
>
> That's a fair point but I run scrub every day with errors if any, mailed
> to me.
> Can scrub miss latent corruption?
Depends on the type of corruption. Scrub simply checks the checksums,
replacing any bad copies it finds with good copies if there's good copies
to do so with (thus my raid1 here, giving me an alternate to look at, too
bad I can't get N-way-mirroring yet and have a second alternate just in
case). Bitflipping and random corruption, it should detect and if
possible fix, no problem.
But if the bug was a logic error and btrfs validly checksummed bad
(meta)data due to that faulty logic, scrub won't do anything to find
that, because all it does is validate the checksum and that's perfectly
fine -- the result of the faulty logic was still faulty, but perfectly
retained. =:^\
Faulty logic is what rebalance and btrfs check will try to detect, except
unlike checksums which are binary case and match or don't match, there's
all /sorts/ of ways logic can be faulty, and given the immaturity of the
tools, there's still some decent gaps in what they'll detect -- there's a
LOT more ways that the filesystem can be wrong and the logic faulty than
we know about yet, and if we don't know about it, it's pretty hard to
test for it.
(Let alone the case of btrfs check /thinking/ it detects something wrong,
but either it's fine, or it's wrong in a different way than btrfs check
thinks, such that btrfs check --repair could actually make things
worse... thus the recommendation not to blindly run --repair, only as a
last resort before a new mkfs, or on the specific recommendation of a
dev.)
Bottom line, if the logic was wrong, scrub isn't likely to catch the
problem, since the checksum on the faulty logic output can and likely
will still be perfectly valid. It's simply the wrong tool to detect that
sort of error.
--
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
next prev parent reply other threads:[~2014-05-11 2:28 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-07 23:39 URGENT: my laptop's boot ssd btrfs crashed, what do you need off it? Marc MERLIN
2014-05-08 0:38 ` Chris Mason
2014-05-08 0:43 ` Marc MERLIN
2014-05-08 1:34 ` Marc MERLIN
2014-05-08 17:40 ` Justin Maggard
2014-05-08 22:02 ` Marc MERLIN
2014-05-09 10:35 ` Fwd: " Marc MERLIN
2014-05-09 16:19 ` Chris Murphy
2014-05-09 22:36 ` btrfs cleaner failure - fs/btrfs/extent-tree.c:5748 (3.14.0) Marc MERLIN
2014-05-10 0:00 ` Chris Murphy
2014-05-10 0:42 ` Marc MERLIN
2014-05-10 1:05 ` Hugo Mills
2014-05-10 1:54 ` Chris Murphy
2014-05-10 13:51 ` Marc MERLIN
2014-05-10 16:34 ` Chris Murphy
2014-05-10 1:09 ` Hugo Mills
2014-05-10 2:02 ` Duncan
2014-05-10 3:40 ` Marc MERLIN
2014-05-11 2:28 ` Duncan [this message]
2014-05-11 12:34 ` Marc MERLIN
2014-05-10 0:13 ` Chris Samuel
2014-05-10 9:26 ` URGENT: my laptop's boot ssd btrfs crashed, what do you need off it? Tom Kuther
2014-05-10 11:42 ` Chris Samuel
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$31216$3d0b94d7$92fede49$858a4a3e@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).