Merge "Move Sync to base class" into main am: 2d5ec079be am: 8a41f54079

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

Change-Id: Ie0fa0083addc9a4a74e8443fe7036cdab31aa89c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Daniel Zheng 2023-10-10 03:57:11 +00:00 committed by Automerger Merge Worker
commit 6dc934c695
4 changed files with 12 additions and 12 deletions

View file

@ -191,5 +191,16 @@ std::unique_ptr<chromeos_update_engine::FileDescriptor> CowWriterBase::OpenFileD
block_dev_size);
}
bool CowWriterBase::Sync() {
if (is_dev_null_) {
return true;
}
if (fsync(fd_.get()) < 0) {
PLOG(ERROR) << "fsync failed";
return false;
}
return true;
}
} // namespace snapshot
} // namespace android

View file

@ -34,6 +34,7 @@ class CowWriterBase : public ICowWriter {
// If the given label is not found, Initialize will fail.
virtual bool Initialize(std::optional<uint64_t> label = {}) = 0;
bool Sync();
bool AddCopy(uint64_t new_block, uint64_t old_block, uint64_t num_blocks = 1) override;
bool AddRawBlocks(uint64_t new_block_start, const void* data, size_t size) override;
bool AddXorBlocks(uint32_t new_block_start, const void* data, size_t size, uint32_t old_block,

View file

@ -704,17 +704,6 @@ bool CowWriterV2::WriteRawData(const void* data, const size_t size) {
return true;
}
bool CowWriterV2::Sync() {
if (is_dev_null_) {
return true;
}
if (fsync(fd_.get()) < 0) {
PLOG(ERROR) << "fsync failed";
return false;
}
return true;
}
bool CowWriterV2::Truncate(off_t length) {
if (is_dev_null_ || is_block_device_) {
return true;

View file

@ -58,7 +58,6 @@ class CowWriterV2 : public CowWriterBase {
bool FlushCluster();
bool CompressBlocks(size_t num_blocks, const void* data);
bool Sync();
bool Truncate(off_t length);
bool EnsureSpaceAvailable(const uint64_t bytes_needed) const;