Use zero checksum size for zero-length writes

This commit is contained in:
Vitaliy Filippov
2023-07-13 01:49:45 +03:00
parent bede73d158
commit ccdf87dc81
+1 -1
View File
@@ -51,7 +51,7 @@ struct blockstore_disk_t
inline uint64_t dirty_dyn_size(uint64_t offset, uint64_t len)
{
// Checksums may be partial if write is not aligned with csum_block_size
return clean_entry_bitmap_size + (csum_block_size
return clean_entry_bitmap_size + (csum_block_size && len > 0
? ((offset+len+csum_block_size-1)/csum_block_size - offset/csum_block_size)
* (data_csum_type & 0xFF)
: 0);