Add a test for "perfect_csum_update" mode

This commit is contained in:
Vitaliy Filippov
2025-12-02 01:52:12 +03:00
parent e0d2705294
commit 274f9ecda5
10 changed files with 182 additions and 138 deletions
+2 -2
View File
@@ -162,8 +162,8 @@ int blockstore_impl_t::dequeue_write(blockstore_op_t *op)
// parallel writes to the same object are forbidden anyway
else if (op->len > 0 && op->len <= dsk.atomic_write_size &&
// Intent-writes are disabled if "absolutely correct during compaction" checksum validation algorithm is enabled
// We could also do RMW here when padded_csum_update is enabled, but it's unclear if we need it
(!padded_csum_update || dsk.csum_block_size <= dsk.bitmap_granularity ||
// We could also do RMW here when perfect_csum_update is enabled, but it's unclear if we need it
(!perfect_csum_update || dsk.csum_block_size <= dsk.bitmap_granularity ||
!(op->offset % dsk.csum_block_size) &&
!(op->len % dsk.csum_block_size) &&
(obj->get_writes()->flags != (BS_HEAP_INTENT_WRITE|BS_HEAP_STABLE) ||