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

Commit c6dfdbb7 authored by Kelvin Zhang's avatar Kelvin Zhang
Browse files

Set block device as RO/RW before mount

umount is faster if an RO mount is on top of an RO block device.

Test: th
Bug: 349507086
Change-Id: I621cafd5b15c2c4e104ae7678a1bcf2588fe29b6
parent 47a95af8
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -826,6 +826,9 @@ static int __mount(const std::string& source, const std::string& target, const F
    if (read_only) {
        mountflags |= MS_RDONLY;
    }
    if (!fs_mgr_set_blk_ro(source, read_only)) {
        PLOG(ERROR) << "Failed to set " << source << " as " << (read_only ? "RO" : "RW");
    }
    int ret = 0;
    int save_errno = 0;
    int gc_allowance = 0;
@@ -880,9 +883,6 @@ static int __mount(const std::string& source, const std::string& target, const F
    }
    PINFO << __FUNCTION__ << "(source=" << source << source_missing << ",target=" << target
          << target_missing << ",type=" << entry.fs_type << ")=" << ret;
    if ((ret == 0) && (mountflags & MS_RDONLY) != 0) {
        fs_mgr_set_blk_ro(source);
    }
    if (ret == 0) {
        android::base::SetProperty("ro.boottime.init.mount." + Basename(target),
                                   std::to_string(t.duration().count()));