Loading fs_mgr/libsnapshot/android/snapshot/snapshot.proto +4 −1 Original line number Diff line number Diff line Loading @@ -186,7 +186,7 @@ message SnapshotUpdateStatus { MergeFailureCode merge_failure_code = 7; } // Next: 9 // Next: 10 message SnapshotMergeReport { // Status of the update after the merge attempts. UpdateState state = 1; Loading @@ -212,4 +212,7 @@ message SnapshotMergeReport { // Time from sys.boot_completed to merge start, in milliseconds. uint32 boot_complete_to_merge_start_time_ms = 8; // Merge failure code, filled if state == MergeFailed. MergeFailureCode merge_failure_code = 9; } fs_mgr/libsnapshot/include/libsnapshot/mock_snapshot.h +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ class MockSnapshotManager : public ISnapshotManager { MOCK_METHOD(bool, CancelUpdate, (), (override)); MOCK_METHOD(bool, FinishedSnapshotWrites, (bool wipe), (override)); MOCK_METHOD(void, UpdateCowStats, (ISnapshotMergeStats * stats), (override)); MOCK_METHOD(MergeFailureCode, ReadMergeFailureCode, (), (override)); MOCK_METHOD(bool, InitiateMerge, (), (override)); MOCK_METHOD(UpdateState, ProcessUpdateState, Loading fs_mgr/libsnapshot/include/libsnapshot/mock_snapshot_merge_stats.h +2 −0 Original line number Diff line number Diff line Loading @@ -34,11 +34,13 @@ class MockSnapshotMergeStats final : public ISnapshotMergeStats { MOCK_METHOD(void, set_estimated_cow_size_bytes, (uint64_t), (override)); MOCK_METHOD(void, set_boot_complete_time_ms, (uint32_t), (override)); MOCK_METHOD(void, set_boot_complete_to_merge_start_time_ms, (uint32_t), (override)); MOCK_METHOD(void, set_merge_failure_code, (MergeFailureCode), (override)); MOCK_METHOD(uint64_t, cow_file_size, (), (override)); MOCK_METHOD(uint64_t, total_cow_size_bytes, (), (override)); MOCK_METHOD(uint64_t, estimated_cow_size_bytes, (), (override)); MOCK_METHOD(uint32_t, boot_complete_time_ms, (), (override)); MOCK_METHOD(uint32_t, boot_complete_to_merge_start_time_ms, (), (override)); MOCK_METHOD(MergeFailureCode, merge_failure_code, (), (override)); MOCK_METHOD(std::unique_ptr<Result>, Finish, (), (override)); using ISnapshotMergeStats::Result; Loading fs_mgr/libsnapshot/include/libsnapshot/snapshot.h +5 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,10 @@ class ISnapshotManager { virtual UpdateState ProcessUpdateState(const std::function<bool()>& callback = {}, const std::function<bool()>& before_cancel = {}) = 0; // If ProcessUpdateState() returned MergeFailed, this returns the appropriate // code. Otherwise, MergeFailureCode::Ok is returned. virtual MergeFailureCode ReadMergeFailureCode() = 0; // Find the status of the current update, if any. // // |progress| depends on the returned status: Loading Loading @@ -332,6 +336,7 @@ class SnapshotManager final : public ISnapshotManager { bool CancelUpdate() override; bool FinishedSnapshotWrites(bool wipe) override; void UpdateCowStats(ISnapshotMergeStats* stats) override; MergeFailureCode ReadMergeFailureCode() override; bool InitiateMerge() override; UpdateState ProcessUpdateState(const std::function<bool()>& callback = {}, const std::function<bool()>& before_cancel = {}) override; Loading fs_mgr/libsnapshot/include/libsnapshot/snapshot_stats.h +4 −0 Original line number Diff line number Diff line Loading @@ -34,11 +34,13 @@ class ISnapshotMergeStats { virtual void set_estimated_cow_size_bytes(uint64_t bytes) = 0; virtual void set_boot_complete_time_ms(uint32_t ms) = 0; virtual void set_boot_complete_to_merge_start_time_ms(uint32_t ms) = 0; virtual void set_merge_failure_code(MergeFailureCode code) = 0; virtual uint64_t cow_file_size() = 0; virtual uint64_t total_cow_size_bytes() = 0; virtual uint64_t estimated_cow_size_bytes() = 0; virtual uint32_t boot_complete_time_ms() = 0; virtual uint32_t boot_complete_to_merge_start_time_ms() = 0; virtual MergeFailureCode merge_failure_code() = 0; // Called when merge ends. Properly clean up permanent storage. class Result { Loading Loading @@ -70,6 +72,8 @@ class SnapshotMergeStats : public ISnapshotMergeStats { uint32_t boot_complete_time_ms() override; void set_boot_complete_to_merge_start_time_ms(uint32_t ms) override; uint32_t boot_complete_to_merge_start_time_ms() override; void set_merge_failure_code(MergeFailureCode code) override; MergeFailureCode merge_failure_code() override; std::unique_ptr<Result> Finish() override; private: Loading Loading
fs_mgr/libsnapshot/android/snapshot/snapshot.proto +4 −1 Original line number Diff line number Diff line Loading @@ -186,7 +186,7 @@ message SnapshotUpdateStatus { MergeFailureCode merge_failure_code = 7; } // Next: 9 // Next: 10 message SnapshotMergeReport { // Status of the update after the merge attempts. UpdateState state = 1; Loading @@ -212,4 +212,7 @@ message SnapshotMergeReport { // Time from sys.boot_completed to merge start, in milliseconds. uint32 boot_complete_to_merge_start_time_ms = 8; // Merge failure code, filled if state == MergeFailed. MergeFailureCode merge_failure_code = 9; }
fs_mgr/libsnapshot/include/libsnapshot/mock_snapshot.h +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ class MockSnapshotManager : public ISnapshotManager { MOCK_METHOD(bool, CancelUpdate, (), (override)); MOCK_METHOD(bool, FinishedSnapshotWrites, (bool wipe), (override)); MOCK_METHOD(void, UpdateCowStats, (ISnapshotMergeStats * stats), (override)); MOCK_METHOD(MergeFailureCode, ReadMergeFailureCode, (), (override)); MOCK_METHOD(bool, InitiateMerge, (), (override)); MOCK_METHOD(UpdateState, ProcessUpdateState, Loading
fs_mgr/libsnapshot/include/libsnapshot/mock_snapshot_merge_stats.h +2 −0 Original line number Diff line number Diff line Loading @@ -34,11 +34,13 @@ class MockSnapshotMergeStats final : public ISnapshotMergeStats { MOCK_METHOD(void, set_estimated_cow_size_bytes, (uint64_t), (override)); MOCK_METHOD(void, set_boot_complete_time_ms, (uint32_t), (override)); MOCK_METHOD(void, set_boot_complete_to_merge_start_time_ms, (uint32_t), (override)); MOCK_METHOD(void, set_merge_failure_code, (MergeFailureCode), (override)); MOCK_METHOD(uint64_t, cow_file_size, (), (override)); MOCK_METHOD(uint64_t, total_cow_size_bytes, (), (override)); MOCK_METHOD(uint64_t, estimated_cow_size_bytes, (), (override)); MOCK_METHOD(uint32_t, boot_complete_time_ms, (), (override)); MOCK_METHOD(uint32_t, boot_complete_to_merge_start_time_ms, (), (override)); MOCK_METHOD(MergeFailureCode, merge_failure_code, (), (override)); MOCK_METHOD(std::unique_ptr<Result>, Finish, (), (override)); using ISnapshotMergeStats::Result; Loading
fs_mgr/libsnapshot/include/libsnapshot/snapshot.h +5 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,10 @@ class ISnapshotManager { virtual UpdateState ProcessUpdateState(const std::function<bool()>& callback = {}, const std::function<bool()>& before_cancel = {}) = 0; // If ProcessUpdateState() returned MergeFailed, this returns the appropriate // code. Otherwise, MergeFailureCode::Ok is returned. virtual MergeFailureCode ReadMergeFailureCode() = 0; // Find the status of the current update, if any. // // |progress| depends on the returned status: Loading Loading @@ -332,6 +336,7 @@ class SnapshotManager final : public ISnapshotManager { bool CancelUpdate() override; bool FinishedSnapshotWrites(bool wipe) override; void UpdateCowStats(ISnapshotMergeStats* stats) override; MergeFailureCode ReadMergeFailureCode() override; bool InitiateMerge() override; UpdateState ProcessUpdateState(const std::function<bool()>& callback = {}, const std::function<bool()>& before_cancel = {}) override; Loading
fs_mgr/libsnapshot/include/libsnapshot/snapshot_stats.h +4 −0 Original line number Diff line number Diff line Loading @@ -34,11 +34,13 @@ class ISnapshotMergeStats { virtual void set_estimated_cow_size_bytes(uint64_t bytes) = 0; virtual void set_boot_complete_time_ms(uint32_t ms) = 0; virtual void set_boot_complete_to_merge_start_time_ms(uint32_t ms) = 0; virtual void set_merge_failure_code(MergeFailureCode code) = 0; virtual uint64_t cow_file_size() = 0; virtual uint64_t total_cow_size_bytes() = 0; virtual uint64_t estimated_cow_size_bytes() = 0; virtual uint32_t boot_complete_time_ms() = 0; virtual uint32_t boot_complete_to_merge_start_time_ms() = 0; virtual MergeFailureCode merge_failure_code() = 0; // Called when merge ends. Properly clean up permanent storage. class Result { Loading Loading @@ -70,6 +72,8 @@ class SnapshotMergeStats : public ISnapshotMergeStats { uint32_t boot_complete_time_ms() override; void set_boot_complete_to_merge_start_time_ms(uint32_t ms) override; uint32_t boot_complete_to_merge_start_time_ms() override; void set_merge_failure_code(MergeFailureCode code) override; MergeFailureCode merge_failure_code() override; std::unique_ptr<Result> Finish() override; private: Loading