Browse Source

Calculate data crc32c

blocking-uring-test
Vitaliy Filippov 3 years ago
parent
commit
74d8ea2f01
  1. 3
      blockstore_journal.h
  2. 1
      blockstore_write.cpp

3
blockstore_journal.h

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

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

Loading…
Cancel
Save