diff options
Diffstat (limited to 'libbcachefs/journal_io.c')
-rw-r--r-- | libbcachefs/journal_io.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libbcachefs/journal_io.c b/libbcachefs/journal_io.c index ede9d198..a04b2aee 100644 --- a/libbcachefs/journal_io.c +++ b/libbcachefs/journal_io.c @@ -1743,7 +1743,12 @@ void bch2_journal_write(struct closure *cl) BUG_ON(u64s > j->entry_u64s_reserved); le32_add_cpu(&jset->u64s, u64s); - BUG_ON(vstruct_sectors(jset, c->block_bits) > w->sectors); + + if (vstruct_sectors(jset, c->block_bits) > w->sectors) { + bch2_fs_fatal_error(c, "aieeee! journal write does not fit in allocated space!, %zu > %u", + vstruct_bytes(jset), w->sectors << 9); + goto err; + } jset->magic = cpu_to_le64(jset_magic(c)); jset->version = c->sb.version < bcachefs_metadata_version_bkey_renumber |