mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2025-04-19 20:58:31 +09:00
bcachefs: Don't print data read retry success on non-errors
We may end up in the data read retry path when reading cached data and racing with invalidation, or on checksum error when we were reading into a userspace buffer that might have been modified while the read was in flight. These aren't real errors, so we shouldn't print the 'retry success' message. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
806776ad9c
commit
7dfd42a07a
@ -487,6 +487,8 @@ static void bch2_rbio_retry(struct work_struct *work)
|
||||
.inum = rbio->read_pos.inode,
|
||||
};
|
||||
struct bch_io_failures failed = { .nr = 0 };
|
||||
int orig_error = rbio->ret;
|
||||
|
||||
struct btree_trans *trans = bch2_trans_get(c);
|
||||
|
||||
trace_io_read_retry(&rbio->bio);
|
||||
@ -519,7 +521,9 @@ static void bch2_rbio_retry(struct work_struct *work)
|
||||
if (ret) {
|
||||
rbio->ret = ret;
|
||||
rbio->bio.bi_status = BLK_STS_IOERR;
|
||||
} else {
|
||||
} else if (orig_error != -BCH_ERR_data_read_retry_csum_err_maybe_userspace &&
|
||||
orig_error != -BCH_ERR_data_read_ptr_stale_race &&
|
||||
!failed.nr) {
|
||||
struct printbuf buf = PRINTBUF;
|
||||
|
||||
lockrestart_do(trans,
|
||||
|
Loading…
x
Reference in New Issue
Block a user