From 37467f36658aa8ef82eef3e4674099ad6b140940 Mon Sep 17 00:00:00 2001 From: Yi-Yo Chiang Date: Tue, 12 Sep 2023 15:31:24 +0800 Subject: [PATCH] fs_mgr: Refactor fs_mgr_overlayfs_already_mounted() to be more readable Bug: 293695109 Test: adb_remount test Change-Id: Idadd5b99e48fa601b1046aef533027ea6ba5c2f6 --- fs_mgr/fs_mgr_overlayfs_mount.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/fs_mgr/fs_mgr_overlayfs_mount.cpp b/fs_mgr/fs_mgr_overlayfs_mount.cpp index 8fb63b174..9f17c06f7 100644 --- a/fs_mgr/fs_mgr_overlayfs_mount.cpp +++ b/fs_mgr/fs_mgr_overlayfs_mount.cpp @@ -733,15 +733,18 @@ bool fs_mgr_overlayfs_is_setup() { bool fs_mgr_overlayfs_already_mounted(const std::string& mount_point, bool overlay_only) { Fstab fstab; - if (!ReadFstabFromFile("/proc/mounts", &fstab)) { + if (!ReadFstabFromProcMounts(&fstab)) { return false; } const auto lowerdir = kLowerdirOption + mount_point; - for (const auto& entry : fstab) { - if (overlay_only && "overlay" != entry.fs_type && "overlayfs" != entry.fs_type) continue; - if (mount_point != entry.mount_point) continue; - if (!overlay_only) return true; - const auto options = android::base::Split(entry.fs_options, ","); + for (const auto& entry : GetEntriesForMountPoint(&fstab, mount_point)) { + if (!overlay_only) { + return true; + } + if (entry->fs_type != "overlay" && entry->fs_type != "overlayfs") { + continue; + } + const auto options = android::base::Split(entry->fs_options, ","); for (const auto& opt : options) { if (opt == lowerdir) { return true;