fs_mgr: Fix EnsurePathMounted with a given mount_point.

The expected behavior is to ensure the path mounted at the given mount
point, instead of the one in fstab.

Test: Boot into taimen recovery. Choose "Mount /system" from menu. Check
      that system image is mounted at /mnt/system.
Change-Id: I07128e34bc47561afee8164611709a2b5393f9b7
This commit is contained in:
Tao Bao 2019-05-10 15:06:56 -07:00
parent 09070afd38
commit 15fe3b48a5

View file

@ -101,7 +101,9 @@ bool EnsurePathMounted(Fstab* fstab, const std::string& path, const std::string&
}
}
auto mounted = GetMountState(rec->mount_point);
const std::string mount_point = mount_pt.empty() ? rec->mount_point : mount_pt;
auto mounted = GetMountState(mount_point);
if (mounted == MountState::ERROR) {
return false;
}
@ -109,8 +111,6 @@ bool EnsurePathMounted(Fstab* fstab, const std::string& path, const std::string&
return true;
}
const std::string mount_point = mount_pt.empty() ? rec->mount_point : mount_pt;
static const std::vector<std::string> supported_fs{"ext4", "squashfs", "vfat", "f2fs", "none"};
if (std::find(supported_fs.begin(), supported_fs.end(), rec->fs_type) == supported_fs.end()) {
LERROR << "unknown fs_type \"" << rec->fs_type << "\" for " << mount_point;