recovery: replacing fs_mgr_read_fstab() with new fs_mgr APIs

The fstab settings of early-mounted partitions (e.g., /vendor) will be in
kernel device tree. Switch to the new API to get the whole settings with
those in device tree:

    fs_mgr_read_fstab_with_dt("/etc/recovery.fstab")

The original default /fstab.{ro.hardware} might be moved to
/vendor/etc/. or /odm/etc/. Use another new API to get the default fstab
instead of using the hard-coded /fstab.{ro.hardware}. This API also
includes the settings from device tree:

    fs_mgr_read_fstab_default()

Bug: 35811655
Test: boot sailfish recovery
Change-Id: Iaa56ac7f7b4c4dfc7180c65f03e9a37b94f1de09
This commit is contained in:
Bowgo Tsai
2017-03-10 16:00:40 +08:00
parent f0e8f0727e
commit d13b6cf29c
4 changed files with 13 additions and 44 deletions
+2 -13
View File
@@ -163,20 +163,9 @@ static void add_block_to_ranges(std::vector<int>& ranges, int new_block) {
}
static struct fstab* read_fstab() {
fstab = NULL;
// The fstab path is always "/fstab.${ro.hardware}".
std::string ro_hardware = android::base::GetProperty("ro.hardware", "");
if (ro_hardware.empty()) {
LOG(ERROR) << "failed to get ro.hardware";
return NULL;
}
std::string fstab_path = "/fstab." + ro_hardware;
fstab = fs_mgr_read_fstab(fstab_path.c_str());
fstab = fs_mgr_read_fstab_default();
if (!fstab) {
LOG(ERROR) << "failed to read " << fstab_path;
LOG(ERROR) << "failed to read default fstab";
return NULL;
}