Merge "Do not umount /vendor, /system, and /oem even if they are R/W."

This commit is contained in:
Treehugger Robot 2017-07-18 03:08:42 +00:00 committed by Gerrit Code Review
commit 11649e8925

View file

@ -234,7 +234,12 @@ static bool FindPartitionsToUmount(std::vector<MountEntry>* blockDevPartitions,
LOG(INFO) << "mount entry " << mentry->mnt_fsname << ":" << mentry->mnt_dir << " opts "
<< mentry->mnt_opts << " type " << mentry->mnt_type;
} else if (MountEntry::IsBlockDevice(*mentry) && hasmntopt(mentry, "rw")) {
blockDevPartitions->emplace(blockDevPartitions->begin(), *mentry);
std::string mount_dir(mentry->mnt_dir);
// These are R/O partitions changed to R/W after adb remount.
// Do not umount them as shutdown critical services may rely on them.
if (mount_dir != "/system" && mount_dir != "/vendor" && mount_dir != "/oem") {
blockDevPartitions->emplace(blockDevPartitions->begin(), *mentry);
}
} else if (MountEntry::IsEmulatedDevice(*mentry)) {
emulatedPartitions->emplace(emulatedPartitions->begin(), *mentry);
}