aboutsummaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/io_read.c
diff options
context:
space:
mode:
authorSebastian Reichel <[email protected]>2025-07-06 22:53:35 +0000
committerSebastian Reichel <[email protected]>2025-07-06 22:53:35 +0000
commit61b8c39deb4b6d314f942a4a33565575c9b0c3d5 (patch)
treef25268cdd9485af13d9efa05db3d88754a82f82b /fs/bcachefs/io_read.c
parentMAINTAINERS: rectify file entry in QUALCOMM SMB CHARGER DRIVER (diff)
parentDocumentation: PM: *_autosuspend() functions update last busy time (diff)
downloadkernel-61b8c39deb4b6d314f942a4a33565575c9b0c3d5.tar.gz
kernel-61b8c39deb4b6d314f942a4a33565575c9b0c3d5.zip
Merge tag 'pm-runtime-6.17-rc1'
Runtime PM updates related to autosuspend for 6.17 Make several autosuspend functions mark last busy stamp and update the documentation accordingly (Sakari Ailus). Signed-off-by: Sebastian Reichel <[email protected]>
Diffstat (limited to 'fs/bcachefs/io_read.c')
-rw-r--r--fs/bcachefs/io_read.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/fs/bcachefs/io_read.c b/fs/bcachefs/io_read.c
index a77779afad01..04bbdcf58e40 100644
--- a/fs/bcachefs/io_read.c
+++ b/fs/bcachefs/io_read.c
@@ -343,6 +343,10 @@ static struct bch_read_bio *promote_alloc(struct btree_trans *trans,
*bounce = true;
*read_full = promote_full;
+
+ if (have_io_error(failed))
+ orig->self_healing = true;
+
return promote;
nopromote:
trace_io_read_nopromote(c, ret);
@@ -635,12 +639,15 @@ static void bch2_rbio_retry(struct work_struct *work)
prt_str(&buf, "(internal move) ");
prt_str(&buf, "data read error, ");
- if (!ret)
+ if (!ret) {
prt_str(&buf, "successful retry");
- else
+ if (rbio->self_healing)
+ prt_str(&buf, ", self healing");
+ } else
prt_str(&buf, bch2_err_str(ret));
prt_newline(&buf);
+
if (!bkey_deleted(&sk.k->k)) {
bch2_bkey_val_to_text(&buf, c, bkey_i_to_s_c(sk.k));
prt_newline(&buf);