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

Commit 4d475964 authored by Yi-Yo Chiang's avatar Yi-Yo Chiang Committed by Automerger Merge Worker
Browse files

Merge "fs_mgr: Refactor fs_mgr_overlayfs_already_mounted() to be more...

Merge "fs_mgr: Refactor fs_mgr_overlayfs_already_mounted() to be more readable" into main am: 9603a829 am: fd742433 am: 0de639dc am: 309e38e6 am: 38c4e88e

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2745620



Change-Id: I093891fd918cc90a32aba84e881cf1f01b91e8c2
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents a7c39cdd 38c4e88e
Loading
Loading
Loading
Loading
+9 −6
Original line number Original line Diff line number Diff line
@@ -733,15 +733,18 @@ bool fs_mgr_overlayfs_is_setup() {


bool fs_mgr_overlayfs_already_mounted(const std::string& mount_point, bool overlay_only) {
bool fs_mgr_overlayfs_already_mounted(const std::string& mount_point, bool overlay_only) {
    Fstab fstab;
    Fstab fstab;
    if (!ReadFstabFromFile("/proc/mounts", &fstab)) {
    if (!ReadFstabFromProcMounts(&fstab)) {
        return false;
        return false;
    }
    }
    const auto lowerdir = kLowerdirOption + mount_point;
    const auto lowerdir = kLowerdirOption + mount_point;
    for (const auto& entry : fstab) {
    for (const auto& entry : GetEntriesForMountPoint(&fstab, mount_point)) {
        if (overlay_only && "overlay" != entry.fs_type && "overlayfs" != entry.fs_type) continue;
        if (!overlay_only) {
        if (mount_point != entry.mount_point) continue;
            return true;
        if (!overlay_only) return true;
        }
        const auto options = android::base::Split(entry.fs_options, ",");
        if (entry->fs_type != "overlay" && entry->fs_type != "overlayfs") {
            continue;
        }
        const auto options = android::base::Split(entry->fs_options, ",");
        for (const auto& opt : options) {
        for (const auto& opt : options) {
            if (opt == lowerdir) {
            if (opt == lowerdir) {
                return true;
                return true;