bcachefs: Use bch2_trans_inconsistent_on() in more places
authorKent Overstreet <kent.overstreet@gmail.com>
Sun, 10 Apr 2022 22:12:04 +0000 (18:12 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:31 +0000 (17:09 -0400)
This gets us better error messages.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
fs/bcachefs/alloc_background.c
fs/bcachefs/lru.c

index 108b98c9fe45b55f81eb14ae7ecf3156c1a86431..3be6f0fa89debe36d669924d85a3beb13c1956a7 100644 (file)
@@ -520,7 +520,7 @@ static int bch2_bucket_do_index(struct btree_trans *trans,
                goto err;
 
        if (ca->mi.freespace_initialized &&
-           bch2_fs_inconsistent_on(old.k->type != old_type, c,
+           bch2_trans_inconsistent_on(old.k->type != old_type, trans,
                        "incorrect key when %s %s btree (got %s should be %s)\n"
                        "  for %s",
                        set ? "setting" : "clearing",
@@ -950,7 +950,7 @@ static int bch2_clear_need_discard(struct btree_trans *trans, struct bpos pos,
                goto write;
        }
 
-       if (bch2_fs_inconsistent_on(a->v.journal_seq > c->journal.flushed_seq_ondisk, c,
+       if (bch2_trans_inconsistent_on(a->v.journal_seq > c->journal.flushed_seq_ondisk, trans,
                        "clearing need_discard but journal_seq %llu > flushed_seq %llu\n"
                        "%s",
                        a->v.journal_seq,
@@ -960,7 +960,7 @@ static int bch2_clear_need_discard(struct btree_trans *trans, struct bpos pos,
                goto out;
        }
 
-       if (bch2_fs_inconsistent_on(a->v.data_type != BCH_DATA_need_discard, c,
+       if (bch2_trans_inconsistent_on(a->v.data_type != BCH_DATA_need_discard, trans,
                        "bucket incorrectly set in need_discard btree\n"
                        "%s",
                        (bch2_bkey_val_to_text(&buf, c, k), buf.buf))) {
@@ -1089,8 +1089,8 @@ static int invalidate_one_bucket(struct btree_trans *trans, struct bch_dev *ca)
        if (!k.k || k.k->p.inode != ca->dev_idx)
                goto out;
 
-       if (bch2_fs_inconsistent_on(k.k->type != KEY_TYPE_lru, c,
-                                   "non lru key in lru btree"))
+       if (bch2_trans_inconsistent_on(k.k->type != KEY_TYPE_lru, trans,
+                                      "non lru key in lru btree"))
                goto out;
 
        idx     = k.k->p.offset;
@@ -1102,7 +1102,7 @@ static int invalidate_one_bucket(struct btree_trans *trans, struct bch_dev *ca)
        if (ret)
                goto out;
 
-       if (bch2_fs_inconsistent_on(idx != alloc_lru_idx(a->v), c,
+       if (bch2_trans_inconsistent_on(idx != alloc_lru_idx(a->v), trans,
                        "invalidating bucket with wrong lru idx (got %llu should be %llu",
                        idx, alloc_lru_idx(a->v)))
                goto out;
index ef4b4a9f0d5fff47a622dc4d98f20039f45a342a..d8180bc1c6b11a255ebf2b1eaf2b750d9c973eeb 100644 (file)
@@ -32,7 +32,6 @@ void bch2_lru_to_text(struct printbuf *out, struct bch_fs *c,
 
 static int lru_delete(struct btree_trans *trans, u64 id, u64 idx, u64 time)
 {
-       struct bch_fs *c = trans->c;
        struct btree_iter iter;
        struct bkey_s_c k;
        u64 existing_idx;
@@ -51,7 +50,7 @@ static int lru_delete(struct btree_trans *trans, u64 id, u64 idx, u64 time)
                goto err;
 
        if (k.k->type != KEY_TYPE_lru) {
-               bch2_fs_inconsistent(c,
+               bch2_trans_inconsistent(trans,
                        "pointer to nonexistent lru %llu:%llu",
                        id, time);
                ret = -EIO;
@@ -60,7 +59,7 @@ static int lru_delete(struct btree_trans *trans, u64 id, u64 idx, u64 time)
 
        existing_idx = le64_to_cpu(bkey_s_c_to_lru(k).v->idx);
        if (existing_idx != idx) {
-               bch2_fs_inconsistent(c,
+               bch2_trans_inconsistent(trans,
                        "lru %llu:%llu with wrong backpointer: got %llu, should be %llu",
                        id, time, existing_idx, idx);
                ret = -EIO;