Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a41f540 authored by Daniel Zheng's avatar Daniel Zheng Committed by Automerger Merge Worker
Browse files

Merge "Move Sync to base class" into main am: 2d5ec079

parents 8f594c12 2d5ec079
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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,
+0 −11
Original line number Diff line number Diff line
@@ -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;
+0 −1
Original line number Diff line number Diff line
@@ -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;