Calculate data crc32c

blocking-uring-test
Vitaliy Filippov 2019-11-27 02:20:38 +03:00
parent 9568354d78
commit 74d8ea2f01
2 changed files with 3 additions and 1 deletions

View File

@ -40,7 +40,8 @@ struct __attribute__((__packed__)) journal_entry_small_write
// small_write entries contain <len> 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

View File

@ -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);