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: 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


  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).