forked from luck/tmp_suning_uos_patched
btrfs: don't report readahead errors and don't update statistics
As readahead is an optimization, all errors are usually filtered out, but still properly handled when the real read call is done. The commit5e9d398240
("btrfs: readpages() should submit IO as read-ahead") added REQ_RAHEAD to readpages() because that's only used for readahead (despite what one would expect from the callback name). This causes a flood of messages and inflated read error stats, so skip reporting in case it's readahead. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=202403 Reported-by: LimeTech <tomm@lime-technology.com> Fixes:5e9d398240
("btrfs: readpages() should submit IO as read-ahead") CC: stable@vger.kernel.org # 4.19+ Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
609e804d77
commit
0cc068e6ee
|
@ -6407,7 +6407,7 @@ static void btrfs_end_bio(struct bio *bio)
|
||||||
if (bio_op(bio) == REQ_OP_WRITE)
|
if (bio_op(bio) == REQ_OP_WRITE)
|
||||||
btrfs_dev_stat_inc_and_print(dev,
|
btrfs_dev_stat_inc_and_print(dev,
|
||||||
BTRFS_DEV_STAT_WRITE_ERRS);
|
BTRFS_DEV_STAT_WRITE_ERRS);
|
||||||
else
|
else if (!(bio->bi_opf & REQ_RAHEAD))
|
||||||
btrfs_dev_stat_inc_and_print(dev,
|
btrfs_dev_stat_inc_and_print(dev,
|
||||||
BTRFS_DEV_STAT_READ_ERRS);
|
BTRFS_DEV_STAT_READ_ERRS);
|
||||||
if (bio->bi_opf & REQ_PREFLUSH)
|
if (bio->bi_opf & REQ_PREFLUSH)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user