Merge changes Ibe310d58,If88dceda into main am: dd3d34ffa7
Original change: https://android-review.googlesource.com/c/platform/system/core/+/2782287 Change-Id: I7b20669463ca407709cd0479783eab96071349e1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
4ff080089c
4 changed files with 15 additions and 3 deletions
|
@ -91,6 +91,18 @@ struct CowHeader {
|
|||
|
||||
// Scratch space used during merge
|
||||
uint32_t buffer_size;
|
||||
|
||||
} __attribute__((packed));
|
||||
|
||||
struct CowHeaderV3 : public CowHeader {
|
||||
// Location of sequence buffer in COW.
|
||||
uint64_t sequence_buffer_offset;
|
||||
// Size, in bytes, of the CowResumePoint buffer.
|
||||
uint32_t resume_buffer_size;
|
||||
// Size, in bytes, of the CowOperation buffer.
|
||||
uint32_t op_buffer_size;
|
||||
// Compression Algorithm
|
||||
uint32_t compression_algorithm;
|
||||
} __attribute__((packed));
|
||||
|
||||
// This structure is the same size of a normal Operation, but is repurposed for the footer.
|
||||
|
|
|
@ -63,7 +63,6 @@ class CowWriterBase : public ICowWriter {
|
|||
bool ValidateNewBlock(uint64_t new_block);
|
||||
|
||||
CowOptions options_;
|
||||
CowHeader header_{};
|
||||
|
||||
android::base::unique_fd fd_;
|
||||
bool is_dev_null_ = false;
|
||||
|
|
|
@ -243,7 +243,7 @@ bool CowWriterV2::OpenForWrite() {
|
|||
|
||||
// Headers are not complete, but this ensures the file is at the right
|
||||
// position.
|
||||
if (!android::base::WriteFully(fd_, &header_, sizeof(header_))) {
|
||||
if (!android::base::WriteFully(fd_, &header_, sizeof(CowHeader))) {
|
||||
PLOG(ERROR) << "write failed";
|
||||
return false;
|
||||
}
|
||||
|
@ -262,7 +262,7 @@ bool CowWriterV2::OpenForWrite() {
|
|||
return false;
|
||||
}
|
||||
|
||||
if (lseek(fd_.get(), sizeof(header_) + header_.buffer_size, SEEK_SET) < 0) {
|
||||
if (lseek(fd_.get(), sizeof(CowHeader) + header_.buffer_size, SEEK_SET) < 0) {
|
||||
PLOG(ERROR) << "lseek failed";
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -63,6 +63,7 @@ class CowWriterV2 : public CowWriterBase {
|
|||
|
||||
private:
|
||||
CowFooter footer_{};
|
||||
CowHeader header_{};
|
||||
CowCompression compression_;
|
||||
// in the case that we are using one thread for compression, we can store and re-use the same
|
||||
// compressor
|
||||
|
|
Loading…
Reference in a new issue