Merge "Create_cow: Hash of target blocks should not be stored." into main

This commit is contained in:
Treehugger Robot 2023-09-24 00:46:55 +00:00 committed by Gerrit Code Review
commit a2cd2202f0

View file

@ -240,9 +240,11 @@ bool CreateSnapshot::ReadBlocks(off_t offset, const int skip_blocks, const uint6
SHA256(bufptr, BLOCK_SZ, checksum);
std::string hash = ToHexString(checksum, sizeof(checksum));
if (create_snapshot_patch_ && !WriteSnapshot(bufptr, blkindex, hash)) {
LOG(ERROR) << "WriteSnapshot failed for block: " << blkindex;
return false;
if (create_snapshot_patch_) {
if (!WriteSnapshot(bufptr, blkindex, hash)) {
LOG(ERROR) << "WriteSnapshot failed for block: " << blkindex;
return false;
}
} else {
std::lock_guard<std::mutex> lock(source_block_hash_lock_);
{
@ -256,7 +258,7 @@ bool CreateSnapshot::ReadBlocks(off_t offset, const int skip_blocks, const uint6
num_blocks -= 1;
}
file_offset += (skip_blocks * kBlockSizeToRead);
file_offset += (skip_blocks * to_read);
if (file_offset >= dev_sz) {
break;
}