ref: dd9afaebb842141fa01d09a7296e91be5915cd26
parent: 5b99cfc34279cd95c82510c4404b6625170dbdfb
author: Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
date: Mon Mar 1 12:49:47 EST 2021
ext4 journal: data is not *always* set despite success, add an assert to spot this specific issue
--- a/src/ext4_bcache.c
+++ b/src/ext4_bcache.c
@@ -235,9 +235,11 @@
bool *is_new)
{
/* Try to search the buffer with exaxt LBA. */
+
struct ext4_buf *buf = ext4_bcache_find_get(bc, b, b->lb_id);
if (buf) {
*is_new = false;
+ fprint(2, "buf %p data %p: %p\n", buf, buf->data, b->data);
return EOK;
}
--- a/src/ext4_journal.c
+++ b/src/ext4_journal.c
@@ -1336,6 +1336,7 @@
&jbd_block,
jbd_buf->jbd_lba);
ext4_assert(r == EOK);
+ ext4_assert(jbd_block.data != NULL);
memcpy(tmp_data, jbd_block.data,
journal->block_size);
ext4_block_set(fs->bdev, &jbd_block);