]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: scrub: use scrub_simple_mirror() to handle RAID56 data stripe scrub
authorQu Wenruo <wqu@suse.com>
Fri, 11 Mar 2022 07:38:46 +0000 (15:38 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 16 May 2022 15:17:30 +0000 (17:17 +0200)
commit8769589e9573111294930d5e167d6a6b846acd24
treedb3e9ac6f61a763838cf59176390ffcdbb36e280
parent4e464597399e7965383d9c446a564360c7ec1d9f
btrfs: scrub: use scrub_simple_mirror() to handle RAID56 data stripe scrub

Although RAID56 has complex repair mechanism, which involves reading the
whole full stripe, but inside one data stripe, it's in fact no different
than SINGLE/RAID1.

The point here is, for data stripe we just check the csum for each
extent we hit.  Only for csum mismatch case, our repair paths divide.

So we can still reuse scrub_simple_mirror() for RAID56 data stripes,
which saves quite some code.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/scrub.c