bcachefs: Log message improvements
authorKent Overstreet <kent.overstreet@gmail.com>
Wed, 12 Jan 2022 03:08:44 +0000 (22:08 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:23 +0000 (17:09 -0400)
Change the error messages in bch2_inconsistent_error() and
bch2_fatal_error() so we can distinguish them.

Also, prefer bch2_fs_fatal_error() (which also logs an error message) to
bch2_fatal_error(), and change a call to bch2_inconsistent_error() to
bch2_fatal_error() when we can't continue.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/btree_update_leaf.c
fs/bcachefs/error.c
fs/bcachefs/journal_io.c

index aa5b7960e2145330f123ba85230d0c54833a71a5..cfcaa58f728c71c4c354541b802da5a9aa566f21 100644 (file)
@@ -663,9 +663,8 @@ static inline int do_bch2_trans_commit(struct btree_trans *trans,
                        char buf[200];
 
                        bch2_bkey_val_to_text(&PBUF(buf), c, bkey_i_to_s_c(i->k));
-                       bch_err(c, "invalid bkey %s on insert from %s -> %ps: %s\n",
-                               buf, trans->fn, (void *) i->ip_allocated, invalid);
-                       bch2_fatal_error(c);
+                       bch2_fs_fatal_error(c, "invalid bkey %s on insert from %s -> %ps: %s\n",
+                                           buf, trans->fn, (void *) i->ip_allocated, invalid);
                        return -EINVAL;
                }
                btree_insert_entry_checks(trans, i);
index 2cea694575e99a4df6c4af282c76cbc77230f06e..8279a9ba76a5c5e91524512d31e966e566cb240e 100644 (file)
@@ -15,7 +15,7 @@ bool bch2_inconsistent_error(struct bch_fs *c)
                return false;
        case BCH_ON_ERROR_ro:
                if (bch2_fs_emergency_read_only(c))
-                       bch_err(c, "emergency read only");
+                       bch_err(c, "inconsistency detected - emergency read only");
                return true;
        case BCH_ON_ERROR_panic:
                panic(bch2_fmt(c, "panic after error"));
@@ -35,7 +35,7 @@ void bch2_topology_error(struct bch_fs *c)
 void bch2_fatal_error(struct bch_fs *c)
 {
        if (bch2_fs_emergency_read_only(c))
-               bch_err(c, "emergency read only");
+               bch_err(c, "fatal error - emergency read only");
 }
 
 void bch2_io_error_work(struct work_struct *work)
index 815310e2426f8db67b46a167cd09f7ce1a3267d5..75b805732c21b9e34d620f178766498cda7ba618 100644 (file)
@@ -1672,6 +1672,6 @@ no_io:
        continue_at(cl, journal_write_done, c->io_complete_wq);
        return;
 err:
-       bch2_inconsistent_error(c);
+       bch2_fatal_error(c);
        continue_at(cl, journal_write_done, c->io_complete_wq);
 }