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

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2759698

Change-Id: Ib652154e55c271260cbf0070af9c96f674c31709
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot 2023-09-24 01:59:18 +00:00 committed by Automerger Merge Worker
commit 8cd8ce3fc0

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;
}