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 ---
signature.asc
Description: Digital signature