Snap for 7963886 from 4375229588 to sc-d2-release

Change-Id: Ia556bf64147d7ec8dff4c8daed025392e9cc06ca
This commit is contained in:
Android Build Coastguard Worker 2021-12-03 00:10:08 +00:00
commit 206bbbd524
1 changed files with 7 additions and 1 deletions

View File

@ -226,9 +226,15 @@ bool ReadAheadThread::ReconstructDataFromCow() {
int num_ops = 0;
int total_blocks_merged = 0;
// This memcpy is important as metadata_buffer_ will be an unaligned address and will fault
// on 32-bit systems
std::unique_ptr<uint8_t[]> metadata_buffer =
std::make_unique<uint8_t[]>(snapuserd_->GetBufferMetadataSize());
memcpy(metadata_buffer.get(), metadata_buffer_, snapuserd_->GetBufferMetadataSize());
while (true) {
struct ScratchMetadata* bm = reinterpret_cast<struct ScratchMetadata*>(
(char*)metadata_buffer_ + metadata_offset);
(char*)metadata_buffer.get() + metadata_offset);
// Done reading metadata
if (bm->new_block == 0 && bm->file_offset == 0) {