summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2022-04-10 18:12:04 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2022-04-17 15:44:31 -0400
commit6fbb6ca0a94d3a0a64e8e0758e2e4b0c106d1589 (patch)
tree4c389652d13fe7f061a1e1e8eb8ebf2e96ee0a47
parent8a09a37ae84f3696c601b95d3fb018a213ce657e (diff)
bcachefs: Use bch2_trans_inconsistent_on() in more places
This gets us better error messages. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--fs/bcachefs/alloc_background.c12
-rw-r--r--fs/bcachefs/lru.c5
2 files changed, 8 insertions, 9 deletions
diff --git a/fs/bcachefs/alloc_background.c b/fs/bcachefs/alloc_background.c
index 4f208fab799a..eaca6d058578 100644
--- a/fs/bcachefs/alloc_background.c
+++ b/fs/bcachefs/alloc_background.c
@@ -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;
diff --git a/fs/bcachefs/lru.c b/fs/bcachefs/lru.c
index ef4b4a9f0d5f..d8180bc1c6b1 100644
--- a/fs/bcachefs/lru.c
+++ b/fs/bcachefs/lru.c
@@ -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;