diff options
author | Tao Bao <tbao@google.com> | 2019-01-08 20:49:20 +0100 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-01-08 20:49:20 +0100 |
commit | 22a27f99659c4ed76462a3aa95f7ff43ea5a976b (patch) | |
tree | f1c1a2b84e53d9c3c66bc302255239f225c28cb4 | |
parent | Merge "updater: erase ignores EOPNOTSUPP for BLKDISCARD" (diff) | |
parent | Use dynamically linked f2fs executables. (diff) | |
download | android_bootable_recovery-22a27f99659c4ed76462a3aa95f7ff43ea5a976b.tar android_bootable_recovery-22a27f99659c4ed76462a3aa95f7ff43ea5a976b.tar.gz android_bootable_recovery-22a27f99659c4ed76462a3aa95f7ff43ea5a976b.tar.bz2 android_bootable_recovery-22a27f99659c4ed76462a3aa95f7ff43ea5a976b.tar.lz android_bootable_recovery-22a27f99659c4ed76462a3aa95f7ff43ea5a976b.tar.xz android_bootable_recovery-22a27f99659c4ed76462a3aa95f7ff43ea5a976b.tar.zst android_bootable_recovery-22a27f99659c4ed76462a3aa95f7ff43ea5a976b.zip |
-rw-r--r-- | Android.mk | 4 | ||||
-rw-r--r-- | CleanSpec.mk | 1 | ||||
-rw-r--r-- | roots.cpp | 32 | ||||
-rw-r--r-- | updater/install.cpp | 9 |
4 files changed, 21 insertions, 25 deletions
diff --git a/Android.mk b/Android.mk index 7be123069..429c52dbf 100644 --- a/Android.mk +++ b/Android.mk @@ -58,8 +58,8 @@ LOCAL_MODULE := recovery_deps ifeq ($(TARGET_USERIMAGES_USE_F2FS),true) ifeq ($(HOST_OS),linux) LOCAL_REQUIRED_MODULES += \ - sload.f2fs \ - mkfs.f2fs + make_f2fs.recovery \ + sload_f2fs.recovery endif endif diff --git a/CleanSpec.mk b/CleanSpec.mk index e2d97d42b..fec823e7e 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -49,3 +49,4 @@ # ************************************************ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES/recovery_intermediates) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libminui_intermediates/import_includes) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/sbin) @@ -223,34 +223,28 @@ int format_volume(const std::string& volume, const std::string& directory) { // Has to be f2fs because we checked earlier. static constexpr int kSectorSize = 4096; - std::string cmd("/sbin/mkfs.f2fs"); - // clang-format off std::vector<std::string> make_f2fs_cmd = { - cmd, - "-g", "android", + "/system/bin/make_f2fs", + "-g", + "android", v->blk_device, }; - // clang-format on if (length >= kSectorSize) { make_f2fs_cmd.push_back(std::to_string(length / kSectorSize)); } - int result = exec_cmd(make_f2fs_cmd); - if (result == 0 && !directory.empty()) { - cmd = "/sbin/sload.f2fs"; - // clang-format off + if (exec_cmd(make_f2fs_cmd) != 0) { + PLOG(ERROR) << "format_volume: Failed to make_f2fs on " << v->blk_device; + return -1; + } + if (!directory.empty()) { std::vector<std::string> sload_f2fs_cmd = { - cmd, - "-f", directory, - "-t", volume, - v->blk_device, + "/system/bin/sload_f2fs", "-f", directory, "-t", volume, v->blk_device, }; - // clang-format on - result = exec_cmd(sload_f2fs_cmd); - } - if (result != 0) { - PLOG(ERROR) << "format_volume: Failed " << cmd << " on " << v->blk_device; - return -1; + if (exec_cmd(sload_f2fs_cmd) != 0) { + PLOG(ERROR) << "format_volume: Failed to sload_f2fs on " << v->blk_device; + return -1; + } } return 0; } diff --git a/updater/install.cpp b/updater/install.cpp index 0e1028bd1..20a204a83 100644 --- a/updater/install.cpp +++ b/updater/install.cpp @@ -482,18 +482,19 @@ Value* FormatFn(const char* name, State* state, const std::vector<std::unique_pt return StringValue(""); } std::vector<std::string> f2fs_args = { - "/sbin/mkfs.f2fs", "-g", "android", "-w", "512", location + "/system/bin/make_f2fs", "-g", "android", "-w", "512", location }; if (size >= 512) { f2fs_args.push_back(std::to_string(size / 512)); } if (auto status = exec_cmd(f2fs_args); status != 0) { - LOG(ERROR) << name << ": mkfs.f2fs failed (" << status << ") on " << location; + LOG(ERROR) << name << ": make_f2fs failed (" << status << ") on " << location; return StringValue(""); } - if (auto status = exec_cmd({ "/sbin/sload.f2fs", "-t", mount_point, location }); status != 0) { - LOG(ERROR) << name << ": sload.f2fs failed (" << status << ") on " << location; + if (auto status = exec_cmd({ "/system/bin/sload_f2fs", "-t", mount_point, location }); + status != 0) { + LOG(ERROR) << name << ": sload_f2fs failed (" << status << ") on " << location; return StringValue(""); } |