btrfs: scrub: fix a wrong error type when metadata bytenr mismatches
[ Upstream commit f2c19541e421b3235efc515dad88b581f00592ae ]
When the bytenr doesn't match for a metadata tree block, we will report
it as an csum error, which is incorrect and should be reported as a
metadata error instead.
Fixes: a3ddbaebc7
("btrfs: scrub: introduce a helper to verify one metadata block")
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7cfb9086b6
commit
402fd6a6fe
@@ -620,7 +620,7 @@ static void scrub_verify_one_metadata(struct scrub_stripe *stripe, int sector_nr
|
||||
memcpy(on_disk_csum, header->csum, fs_info->csum_size);
|
||||
|
||||
if (logical != btrfs_stack_header_bytenr(header)) {
|
||||
bitmap_set(&stripe->csum_error_bitmap, sector_nr, sectors_per_tree);
|
||||
bitmap_set(&stripe->meta_error_bitmap, sector_nr, sectors_per_tree);
|
||||
bitmap_set(&stripe->error_bitmap, sector_nr, sectors_per_tree);
|
||||
btrfs_warn_rl(fs_info,
|
||||
"tree block %llu mirror %u has bad bytenr, has %llu want %llu",
|
||||
|
Reference in New Issue
Block a user