Merge "recovery: replacing fs_mgr_read_fstab() with new fs_mgr APIs"
This commit is contained in:
commit
7a0dfec771
4 changed files with 13 additions and 44 deletions
|
@ -29,27 +29,14 @@
|
||||||
#include <android-base/unique_fd.h>
|
#include <android-base/unique_fd.h>
|
||||||
#include <fs_mgr.h>
|
#include <fs_mgr.h>
|
||||||
|
|
||||||
static struct fstab* read_fstab(std::string* err) {
|
|
||||||
std::string ro_hardware = android::base::GetProperty("ro.hardware", "");
|
|
||||||
if (ro_hardware.empty()) {
|
|
||||||
*err = "failed to get ro.hardware";
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
// The fstab path is always "/fstab.${ro.hardware}".
|
|
||||||
std::string fstab_path = "/fstab." + ro_hardware;
|
|
||||||
struct fstab* fstab = fs_mgr_read_fstab(fstab_path.c_str());
|
|
||||||
if (fstab == nullptr) {
|
|
||||||
*err = "failed to read " + fstab_path;
|
|
||||||
}
|
|
||||||
return fstab;
|
|
||||||
}
|
|
||||||
|
|
||||||
static std::string get_misc_blk_device(std::string* err) {
|
static std::string get_misc_blk_device(std::string* err) {
|
||||||
struct fstab* fstab = read_fstab(err);
|
std::unique_ptr<fstab, decltype(&fs_mgr_free_fstab)> fstab(fs_mgr_read_fstab_default(),
|
||||||
if (fstab == nullptr) {
|
fs_mgr_free_fstab);
|
||||||
|
if (!fstab) {
|
||||||
|
*err = "failed to read default fstab";
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
fstab_rec* record = fs_mgr_get_entry_for_mount_point(fstab, "/misc");
|
fstab_rec* record = fs_mgr_get_entry_for_mount_point(fstab.get(), "/misc");
|
||||||
if (record == nullptr) {
|
if (record == nullptr) {
|
||||||
*err = "failed to find /misc partition";
|
*err = "failed to find /misc partition";
|
||||||
return "";
|
return "";
|
||||||
|
|
|
@ -44,7 +44,7 @@ void load_volume_table()
|
||||||
int i;
|
int i;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
fstab = fs_mgr_read_fstab("/etc/recovery.fstab");
|
fstab = fs_mgr_read_fstab_with_dt("/etc/recovery.fstab");
|
||||||
if (!fstab) {
|
if (!fstab) {
|
||||||
LOG(ERROR) << "failed to read /etc/recovery.fstab";
|
LOG(ERROR) << "failed to read /etc/recovery.fstab";
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -24,21 +24,14 @@
|
||||||
|
|
||||||
// Check if the /misc entry exists in the fstab.
|
// Check if the /misc entry exists in the fstab.
|
||||||
static bool parse_misc() {
|
static bool parse_misc() {
|
||||||
// The fstab path is "/fstab.${ro.hardware}".
|
std::unique_ptr<fstab, decltype(&fs_mgr_free_fstab)> fstab(fs_mgr_read_fstab_default(),
|
||||||
std::string ro_hardware = android::base::GetProperty("ro.hardware", "");
|
fs_mgr_free_fstab);
|
||||||
if (ro_hardware.empty()) {
|
if (!fstab) {
|
||||||
GTEST_LOG_(INFO) << "Failed to get ro.hardware.";
|
GTEST_LOG_(INFO) << "Failed to read default fstab";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string fstab_path = "/fstab." + ro_hardware;
|
fstab_rec* record = fs_mgr_get_entry_for_mount_point(fstab.get(), "/misc");
|
||||||
fstab* fstab = fs_mgr_read_fstab(fstab_path.c_str());
|
|
||||||
if (fstab == nullptr) {
|
|
||||||
GTEST_LOG_(INFO) << "Failed to read " << fstab_path;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
fstab_rec* record = fs_mgr_get_entry_for_mount_point(fstab, "/misc");
|
|
||||||
if (record == nullptr) {
|
if (record == nullptr) {
|
||||||
GTEST_LOG_(INFO) << "Failed to find /misc in fstab.";
|
GTEST_LOG_(INFO) << "Failed to find /misc in fstab.";
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -163,20 +163,9 @@ static void add_block_to_ranges(std::vector<int>& ranges, int new_block) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct fstab* read_fstab() {
|
static struct fstab* read_fstab() {
|
||||||
fstab = NULL;
|
fstab = fs_mgr_read_fstab_default();
|
||||||
|
|
||||||
// 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());
|
|
||||||
if (!fstab) {
|
if (!fstab) {
|
||||||
LOG(ERROR) << "failed to read " << fstab_path;
|
LOG(ERROR) << "failed to read default fstab";
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue