]> 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)
commitf31fb8cab00d6783b0236dd97eaeebd4b8583554
treedb3e9ac6f61a763838cf59176390ffcdbb36e280
parentb190755a770d8a2a172ea6077186e77f8302f82c
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