From: Andrei Borzenkov <arvidjaar@gmail.com>
To: Chris Mason <clm@fb.com>,
kreijack@inwind.it, linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: [BUG] Btrfs scrub sometime recalculate wrong parity in raid5: take two
Date: Fri, 15 Jul 2016 18:10:44 +0300 [thread overview]
Message-ID: <5788FCF4.2010908@gmail.com> (raw)
In-Reply-To: <2af4a9cc-bf09-680c-1743-530e521677b2@fb.com>
15.07.2016 16:20, Chris Mason пишет:
>>>
>>> Interesting, thanks for taking the time to write this up. Is the
>>> failure specific to scrub? Or is parity rebuild in general also failing
>>> in this case?
>>>
>>
>> How do you rebuild parity without scrub as long as all devices appear to
>> be present?
>
> If one block is corrupted, the crcs will fail and the kernel will
> rebuild parity when you read the file. You can also use balance instead
> of scrub.
>
As we have seen recently, btrfs does not compute, stores or verifies
checksum of RAID56 parity. So if parity is corrupted, the only way to
detect and correct it is to use scrub. Balance may work by side effect,
because it simply recomputes parity on new data, but it will not fix
wrong parity on existing data.
I agree that if data block is corrupted it will be detected, but then
you do not need to recompute parity in the first place.
next prev parent reply other threads:[~2016-07-15 15:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-12 21:50 [BUG] Btrfs scrub sometime recalculate wrong parity in raid5: take two Goffredo Baroncelli
2016-07-14 21:20 ` Chris Mason
2016-07-15 4:39 ` Andrei Borzenkov
2016-07-15 13:20 ` Chris Mason
2016-07-15 15:10 ` Andrei Borzenkov [this message]
2016-07-15 15:21 ` Chris Mason
2016-07-15 16:30 ` Goffredo Baroncelli
2016-07-15 16:28 ` Goffredo Baroncelli
2016-07-15 16:29 ` Chris Mason
2016-07-15 16:34 ` Andrei Borzenkov
2016-07-16 15:51 ` [BUG] Btrfs scrub sometime recalculate wrong parity in raid5 Jarkko Lavinen
2016-07-17 19:46 ` Jarkko Lavinen
2016-07-18 18:56 ` Goffredo Baroncelli
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=5788FCF4.2010908@gmail.com \
--to=arvidjaar@gmail.com \
--cc=clm@fb.com \
--cc=kreijack@inwind.it \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.