diff --git a/blockstore_journal.h b/blockstore_journal.h index 220e698c..e2ff8192 100644 --- a/blockstore_journal.h +++ b/blockstore_journal.h @@ -40,7 +40,8 @@ struct __attribute__((__packed__)) journal_entry_small_write // small_write entries contain bytes of data which is stored in next sectors // data_offset is its offset within journal uint64_t data_offset; - // FIXME add & verify data crc32c + uint32_t crc32_data; + // FIXME verify data crc32c }; struct __attribute__((__packed__)) journal_entry_big_write diff --git a/blockstore_write.cpp b/blockstore_write.cpp index 48c1c454..4a1ee476 100644 --- a/blockstore_write.cpp +++ b/blockstore_write.cpp @@ -139,6 +139,7 @@ int blockstore::dequeue_write(blockstore_operation *op) je->offset = op->offset; je->len = op->len; je->data_offset = journal.next_free; + je->crc32_data = crc32c(0, op->buf, op->len); je->crc32 = je_crc32((journal_entry*)je); journal.crc32_last = je->crc32; prepare_journal_sector_write(journal, sqe1, cb);