bcachefs: bch2_journal_keys_dump()
authorKent Overstreet <kent.overstreet@linux.dev>
Tue, 9 Apr 2024 04:04:31 +0000 (00:04 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Wed, 8 May 2024 21:29:17 +0000 (17:29 -0400)
debug helper

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_journal_iter.c
fs/bcachefs/btree_journal_iter.h

index 1e8cf49a69353198774a0e5b798c2f1f135041fa..332dbf164929edc38402402312e62368ab878125 100644 (file)
@@ -623,3 +623,20 @@ void bch2_shoot_down_journal_keys(struct bch_fs *c, enum btree_id btree,
                        keys->data[dst++] = *i;
        keys->nr = keys->gap = dst;
 }
+
+void bch2_journal_keys_dump(struct bch_fs *c)
+{
+       struct journal_keys *keys = &c->journal_keys;
+       struct printbuf buf = PRINTBUF;
+
+       pr_info("%zu keys:", keys->nr);
+
+       move_gap(keys, keys->nr);
+
+       darray_for_each(*keys, i) {
+               printbuf_reset(&buf);
+               bch2_bkey_val_to_text(&buf, c, bkey_i_to_s_c(i->k));
+               pr_err("%s l=%u %s", bch2_btree_id_str(i->btree_id), i->level, buf.buf);
+       }
+       printbuf_exit(&buf);
+}
index af25046ebcaa763bd7e7b8c37e34818ea06c5cc2..1ba4a79b0ef905cd214d95a51d24e058eb915ab1 100644 (file)
@@ -70,4 +70,6 @@ void bch2_shoot_down_journal_keys(struct bch_fs *, enum btree_id,
                                  unsigned, unsigned,
                                  struct bpos, struct bpos);
 
+void bch2_journal_keys_dump(struct bch_fs *);
+
 #endif /* _BCACHEFS_BTREE_JOURNAL_ITER_H */