On Thu, Oct 09, 2014 at 11:53:23AM +0000, Duncan wrote:
> Austin S Hemmelgarn posted on Thu, 09 Oct 2014 07:29:23 -0400 as
> excerpted:
> 
> > Also, you should be running btrfs scrub regularly to correct bit-rot
> > and force remapping of blocks with read errors.  While BTRFS
> > technically handles both transparently on reads, it only corrects thing
> > on disk when you do a scrub.
> 
> AFAIK that isn't quite correct.  Currently, the number of copies is 
> limited to two, meaning if one of the two is bad, there's a 50% chance of 
> btrfs reading the good one on first try.

   Scrub checks both copies, though. It's ordinary reads that don't.

   Hugo.

> If btrfs reads the good copy, it simply uses it.  If btrfs reads the bad 
> one, it checks the other one and assuming it's good, replaces the bad one 
> with the good one both for the read (which otherwise errors out), and by 
> overwriting the bad one.
> 
> But here's the rub.  The chances of detecting that bad block are 
> relatively low in most cases.  First, the system must try reading it for 
> some reason, but even then, chances are 50% it'll pick the good one and 
> won't even notice the bad one.
> 
> Thus, while btrfs may randomly bump into a bad block and rewrite it with 
> the good copy, scrub is the only way to systematically detect and (if 
> there's a good copy) fix these checksum errors.  It's not that btrfs 
> doesn't do it if it finds them, it's that the chances of finding them are 
> relatively low, unless you do a scrub, which systematically checks the 
> entire filesystem (well, other than files marked nocsum, or nocow, which 
> implies nocsum, or files written when mounted with nodatacow or 
> nodatasum).
> 
> At least that's the way it /should/ work.  I guess it's possible that 
> btrfs isn't doing those routine "bump-into-it-and-fix-it" fixes yet, but 
> if so, that's the first /I/ remember reading of it.
> 
> Other than that detail, what you posted matches my knowledge and 
> experience, such as it may be as a non-dev list regular, as well.
> 

-- 
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
  PGP key: 65E74AC0 from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
      --- Great oxymorons of the world, no. 7: The Simple Truth ---      

Attachment: signature.asc
Description: Digital signature

Reply via email to