Loading fs_mgr/libsnapshot/snapshot_stats.cpp +25 −16 Original line number Diff line number Diff line Loading @@ -36,36 +36,45 @@ SnapshotMergeStats::~SnapshotMergeStats() { } } void SnapshotMergeStats::Start() { SnapshotMergeReport report; report.set_resume_count(0); report.set_state(UpdateState::None); bool SnapshotMergeStats::ReadState() { std::string contents; if (!android::base::ReadFileToString(parent_.GetMergeStateFilePath(), &contents)) { PLOG(INFO) << "Read merge statistics file failed"; return false; } if (!report_.ParseFromString(contents)) { LOG(ERROR) << "Unable to parse merge statistics file as SnapshotMergeReport"; return false; } return true; } bool SnapshotMergeStats::WriteState() { std::string contents; if (!report.SerializeToString(&contents)) { if (!report_.SerializeToString(&contents)) { LOG(ERROR) << "Unable to serialize SnapshotMergeStats."; return; return false; } auto file_path = parent_.GetMergeStateFilePath(); if (!WriteStringToFileAtomic(contents, file_path)) { PLOG(ERROR) << "Could not write to merge statistics file"; return; return false; } return true; } void SnapshotMergeStats::Resume() { std::string contents; if (!android::base::ReadFileToString(parent_.GetMergeStateFilePath(), &contents)) { PLOG(INFO) << "Read merge statistics file failed"; return; void SnapshotMergeStats::Start() { report_.set_resume_count(0); report_.set_state(UpdateState::None); WriteState(); } if (!report_.ParseFromString(contents)) { LOG(ERROR) << "Unable to parse merge statistics file as SnapshotMergeReport"; void SnapshotMergeStats::Resume() { if (!ReadState()) { return; } report_.set_resume_count(report_.resume_count() + 1); WriteState(); } void SnapshotMergeStats::set_state(android::snapshot::UpdateState state) { Loading fs_mgr/libsnapshot/snapshot_stats.h +3 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,9 @@ class SnapshotMergeStats { SnapshotMergeReport GetReport(); private: bool ReadState(); bool WriteState(); const SnapshotManager& parent_; SnapshotMergeReport report_; std::chrono::time_point<std::chrono::steady_clock> init_time_; Loading Loading
fs_mgr/libsnapshot/snapshot_stats.cpp +25 −16 Original line number Diff line number Diff line Loading @@ -36,36 +36,45 @@ SnapshotMergeStats::~SnapshotMergeStats() { } } void SnapshotMergeStats::Start() { SnapshotMergeReport report; report.set_resume_count(0); report.set_state(UpdateState::None); bool SnapshotMergeStats::ReadState() { std::string contents; if (!android::base::ReadFileToString(parent_.GetMergeStateFilePath(), &contents)) { PLOG(INFO) << "Read merge statistics file failed"; return false; } if (!report_.ParseFromString(contents)) { LOG(ERROR) << "Unable to parse merge statistics file as SnapshotMergeReport"; return false; } return true; } bool SnapshotMergeStats::WriteState() { std::string contents; if (!report.SerializeToString(&contents)) { if (!report_.SerializeToString(&contents)) { LOG(ERROR) << "Unable to serialize SnapshotMergeStats."; return; return false; } auto file_path = parent_.GetMergeStateFilePath(); if (!WriteStringToFileAtomic(contents, file_path)) { PLOG(ERROR) << "Could not write to merge statistics file"; return; return false; } return true; } void SnapshotMergeStats::Resume() { std::string contents; if (!android::base::ReadFileToString(parent_.GetMergeStateFilePath(), &contents)) { PLOG(INFO) << "Read merge statistics file failed"; return; void SnapshotMergeStats::Start() { report_.set_resume_count(0); report_.set_state(UpdateState::None); WriteState(); } if (!report_.ParseFromString(contents)) { LOG(ERROR) << "Unable to parse merge statistics file as SnapshotMergeReport"; void SnapshotMergeStats::Resume() { if (!ReadState()) { return; } report_.set_resume_count(report_.resume_count() + 1); WriteState(); } void SnapshotMergeStats::set_state(android::snapshot::UpdateState state) { Loading
fs_mgr/libsnapshot/snapshot_stats.h +3 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,9 @@ class SnapshotMergeStats { SnapshotMergeReport GetReport(); private: bool ReadState(); bool WriteState(); const SnapshotManager& parent_; SnapshotMergeReport report_; std::chrono::time_point<std::chrono::steady_clock> init_time_; Loading