bcachefs: Fix infinite loop in journal_entry_btree_keys_to_text()

Fix an infinite loop when bkey_i->k.u64s is 0.

This only happens in userspace, where 'bcachefs list_journal' can print
the entire contents of the journal, and non-dirty entries aren't
validated.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
Kent Overstreet 2025-05-25 17:04:11 -04:00
parent cd04497b10
commit d6efd42a84

View File

@ -429,6 +429,10 @@ static void journal_entry_btree_keys_to_text(struct printbuf *out, struct bch_fs
bool first = true;
jset_entry_for_each_key(entry, k) {
/* We may be called on entries that haven't been validated: */
if (!k->k.u64s)
break;
if (!first) {
prt_newline(out);
bch2_prt_jset_entry_type(out, entry->type);