summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2022-05-26 15:19:20 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2022-05-30 18:17:24 -0400
commit19dab1a1b13fcbd843bf3b02098e5246738ad337 (patch)
treeb674f2bd9d4a96e0d46b9e32460c506e2acc933b
parente05ad481ece06dca30c730ff37a0cf1b729984c5 (diff)
bcachefs: Print message on btree node read retry success
Right now, we print an error message on btree node read error, and we print that we're retrying, but we don't explicitly say if the retry succeeded - this makes things a little clearer. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--fs/bcachefs/btree_io.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c
index f56d8e199dff..4629617bfa0e 100644
--- a/fs/bcachefs/btree_io.c
+++ b/fs/bcachefs/btree_io.c
@@ -1146,10 +1146,12 @@ static void btree_node_read_work(struct work_struct *work)
struct bch_io_failures failed = { .nr = 0 };
struct printbuf buf = PRINTBUF;
bool saw_error = false;
+ bool retry = false;
bool can_retry;
goto start;
while (1) {
+ retry = true;
bch_info(c, "retrying read");
ca = bch_dev_bkey_exists(c, rb->pick.ptr.dev);
rb->have_ioref = bch2_dev_get_ioref(ca, READ);
@@ -1179,8 +1181,11 @@ start:
&failed, &rb->pick) > 0;
if (!bio->bi_status &&
- !bch2_btree_node_read_done(c, ca, b, can_retry))
+ !bch2_btree_node_read_done(c, ca, b, can_retry)) {
+ if (retry)
+ bch_info(c, "retry success");
break;
+ }
saw_error = true;