Btrfs: do not inc uncorrectable_errors counter on ro scrubs
Currently if we discover an error when scrubbing in ro mode we a) blindly increment the uncorrectable_errors counter, and b) spam the dmesg with the 'unable to fixup (regular) error at ...' message, even though a) we haven't tried to determine if the error is correctable or not, and b) we haven't tried to fixup anything. Fix this. Cc: Stefan Behrens <sbehrens@giantdisaster.de> Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
parent
d006a04816
commit
33ef30add1
|
@ -938,8 +938,10 @@ static int scrub_handle_errored_block(struct scrub_block *sblock_to_check)
|
|||
BTRFS_DEV_STAT_CORRUPTION_ERRS);
|
||||
}
|
||||
|
||||
if (sctx->readonly && !sctx->is_dev_replace)
|
||||
goto did_not_correct_error;
|
||||
if (sctx->readonly) {
|
||||
ASSERT(!sctx->is_dev_replace);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!is_metadata && !have_csum) {
|
||||
struct scrub_fixup_nodatasum *fixup_nodatasum;
|
||||
|
|
Loading…
Reference in New Issue