btrfs: scrub: move write back of repaired sectors to scrub_stripe_read_repair_worker()
authorQu Wenruo <wqu@suse.com>
Thu, 3 Aug 2023 06:33:33 +0000 (14:33 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 21 Aug 2023 12:54:49 +0000 (14:54 +0200)
commit4fe44f9d0472579f69b44001787f2316e4541217
treead6a38b75241d50379221fb6325b3a3f1ce56d6a
parent39dc7bd94d084dcdcd4c88be281d7d8c9b3b0d61
btrfs: scrub: move write back of repaired sectors to scrub_stripe_read_repair_worker()

Currently the scrub_stripe_read_repair_worker() only does reads to
rebuild the corrupted sectors, it doesn't do any writeback.

The design is mostly to put writeback into a more ordered manner, to
co-operate with dev-replace with zoned mode, which requires every write
to be submitted in their bytenr order.

However the writeback for repaired sectors into the original mirror
doesn't need such strong sync requirement, as it can only happen for
non-zoned devices.

This patch would move the writeback for repaired sectors into
scrub_stripe_read_repair_worker(), which removes two calls sites for
repaired sectors writeback. (one from flush_scrub_stripes(), one from
scrub_raid56_parity_stripe())

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