]> www.infradead.org Git - users/hch/misc.git/commitdiff
bcachefs: Reorder error messages that include journal debug
authorKent Overstreet <kent.overstreet@linux.dev>
Sun, 30 Mar 2025 13:30:04 +0000 (09:30 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 30 Mar 2025 20:36:27 +0000 (16:36 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/journal.c
fs/bcachefs/journal_io.c

index ecb97d435f6a0a6611bedce29a0d789b9c93d676..8a36d55366682d15d946a30cb5bca7d87bd5f70e 100644 (file)
@@ -168,11 +168,11 @@ journal_error_check_stuck(struct journal *j, int error, unsigned flags)
                return stuck;
        }
        j->err_seq = journal_cur_seq(j);
-       spin_unlock(&j->lock);
 
-       bch_err(c, "Journal stuck! Hava a pre-reservation but journal full (error %s)",
-               bch2_err_str(error));
-       bch2_journal_debug_to_text(&buf, j);
+       __bch2_journal_debug_to_text(&buf, j);
+       spin_unlock(&j->lock);
+       prt_printf(&buf, bch2_fmt(c, "Journal stuck! Hava a pre-reservation but journal full (error %s)"),
+                                 bch2_err_str(error));
        bch2_print_string_as_lines(KERN_ERR, buf.buf);
 
        printbuf_reset(&buf);
@@ -727,10 +727,10 @@ int bch2_journal_res_get_slowpath(struct journal *j, struct journal_res *res,
                   remaining_wait))
                return ret;
 
-       bch_err(c, "Journal stuck? Waited for 10 seconds, err %s", bch2_err_str(ret));
        struct printbuf buf = PRINTBUF;
        bch2_journal_debug_to_text(&buf, j);
        bch2_print_string_as_lines(KERN_ERR, buf.buf);
+       prt_printf(&buf, bch2_fmt(c, "Journal stuck? Waited for 10 seconds, err %s"), bch2_err_str(ret));
        printbuf_exit(&buf);
 
        closure_wait_event(&j->async_wait,
index f461cb06df904a4208448885dc5f55e71fdaca13..228e531921b7b14057f6f3c41e80e71f2bde92e8 100644 (file)
@@ -2082,12 +2082,12 @@ CLOSURE_CALLBACK(bch2_journal_write)
                struct printbuf buf = PRINTBUF;
                buf.atomic++;
 
+               __bch2_journal_debug_to_text(&buf, j);
+               spin_unlock(&j->lock);
                prt_printf(&buf, bch2_fmt(c, "Unable to allocate journal write at seq %llu for %zu sectors: %s"),
                                          le64_to_cpu(w->data->seq),
                                          vstruct_sectors(w->data, c->block_bits),
                                          bch2_err_str(ret));
-               __bch2_journal_debug_to_text(&buf, j);
-               spin_unlock(&j->lock);
                bch2_print_string_as_lines(KERN_ERR, buf.buf);
                printbuf_exit(&buf);
        }