diff options
author | David Sterba <[email protected]> | 2019-03-07 15:40:50 +0100 |
---|---|---|
committer | David Sterba <[email protected]> | 2019-03-13 17:14:27 +0100 |
commit | 0cc068e6ee59c1fffbfa977d8bf868b7551d80ac (patch) | |
tree | 9bde1d25ac327204fca4cb8f5f058bd109122197 | |
parent | 609e804d771f59dc5d45a93e5ee0053c74bbe2bf (diff) |
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 commit
5e9d398240b2 ("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 <[email protected]>
Fixes: 5e9d398240b2 ("btrfs: readpages() should submit IO as read-ahead")
CC: [email protected] # 4.19+
Signed-off-by: David Sterba <[email protected]>
-rw-r--r-- | fs/btrfs/volumes.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 9024eee889b9..db934ceae9c1 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -6407,7 +6407,7 @@ static void btrfs_end_bio(struct bio *bio) if (bio_op(bio) == REQ_OP_WRITE) btrfs_dev_stat_inc_and_print(dev, BTRFS_DEV_STAT_WRITE_ERRS); - else + else if (!(bio->bi_opf & REQ_RAHEAD)) btrfs_dev_stat_inc_and_print(dev, BTRFS_DEV_STAT_READ_ERRS); if (bio->bi_opf & REQ_PREFLUSH) |