}
jbd_block_set(jbd_fs, &journal_block);
-
+
return;
}
memcpy(tmp_data, jbd_block.data,
journal->block_size);
ext4_block_set(fs->bdev, &jbd_block);
+ printf("journalling stuff --> ext4_blocks_set_direct\n");
r = ext4_blocks_set_direct(fs->bdev, tmp_data,
jbd_buf->block_rec->lba, 1);
jbd_trans_end_write(fs->bdev->bc, buf, r, jbd_buf);
start_block = journal->last++;
trans->alloc_blocks++;
wrap(&journal->jbd_fs->sb, journal->last);
-
+
/* If there is no space left, flush just one journalled
* transaction.*/
if (journal->last == journal->start) {
if (ext4_bcache_test_flag(jbd_buf->block.buf,
BC_DIRTY))
break;
-
+
TAILQ_REMOVE(&jbd_buf->block_rec->dirty_buf_queue,
jbd_buf,
dirty_buf_node);
jbd_set32(bhdr, magic, JBD_MAGIC_NUMBER);
jbd_set32(bhdr, blocktype, JBD_REVOKE_BLOCK);
jbd_set32(bhdr, sequence, trans->trans_id);
-
+
header = (struct jbd_revoke_header *)bhdr;
blocks_entry = (char *)(header + 1);
tag_tbl_size = journal->block_size -