diff --git a/health/storage/1.0/default/Storage.cpp b/health/storage/1.0/default/Storage.cpp index 2e53c50899..561deaaed6 100644 --- a/health/storage/1.0/default/Storage.cpp +++ b/health/storage/1.0/default/Storage.cpp @@ -36,27 +36,20 @@ using base::Timer; using base::Trim; using base::WriteStringToFd; using base::WriteStringToFile; +using fs_mgr::Fstab; +using fs_mgr::ReadDefaultFstab; std::string getGarbageCollectPath() { - std::unique_ptr fstab(fs_mgr_read_fstab_default(), - fs_mgr_free_fstab); - struct fstab_rec* rec = NULL; + Fstab fstab; + ReadDefaultFstab(&fstab); - for (int i = 0; i < fstab->num_entries; i++) { - if (fs_mgr_has_sysfs_path(&fstab->recs[i])) { - rec = &fstab->recs[i]; - break; + for (const auto& entry : fstab) { + if (!entry.sysfs_path.empty()) { + return entry.sysfs_path + "/manual_gc"; } } - if (!rec) { - return ""; - } - std::string path; - path.append(rec->sysfs_path); - path = path + "/manual_gc"; - - return path; + return ""; } Return Storage::garbageCollect(uint64_t timeoutSeconds,