mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 02:36:02 +00:00
bcachefs: Use bch2_trans_inconsistent_on() in more places
This gets us better error messages. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
This commit is contained in:
parent
3518e6faef
commit
84befe8ef9
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user