diff options
author | Jaegeuk Kim <jaegeuk@google.com> | 2017-11-29 04:48:05 +0100 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@google.com> | 2017-12-05 05:27:49 +0100 |
commit | c1c7311b8ada7fce948afaabe91d72f4a7c0cb68 (patch) | |
tree | 882b4aea78fa10a3dab38f3d32aecd0fda5add84 /roots.cpp | |
parent | Merge "Detect interrupted update due to power off" (diff) | |
download | android_bootable_recovery-c1c7311b8ada7fce948afaabe91d72f4a7c0cb68.tar android_bootable_recovery-c1c7311b8ada7fce948afaabe91d72f4a7c0cb68.tar.gz android_bootable_recovery-c1c7311b8ada7fce948afaabe91d72f4a7c0cb68.tar.bz2 android_bootable_recovery-c1c7311b8ada7fce948afaabe91d72f4a7c0cb68.tar.lz android_bootable_recovery-c1c7311b8ada7fce948afaabe91d72f4a7c0cb68.tar.xz android_bootable_recovery-c1c7311b8ada7fce948afaabe91d72f4a7c0cb68.tar.zst android_bootable_recovery-c1c7311b8ada7fce948afaabe91d72f4a7c0cb68.zip |
Diffstat (limited to '')
-rw-r--r-- | roots.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
@@ -324,16 +324,23 @@ int format_volume(const char* volume, const char* directory) { } // Has to be f2fs because we checked earlier. - std::vector<std::string> f2fs_args = { "/sbin/mkfs.f2fs", "-d1", "-f", - "-O", "encrypt", "-O", "quota", - v->blk_device }; + std::string cmd("/sbin/mkfs.f2fs"); + std::vector<std::string> make_f2fs_cmd = { cmd, "-d1", "-f", "-O", + "encrypt", "-O", "quota", v->blk_device }; if (length >= 512) { - f2fs_args.push_back(std::to_string(length / 512)); + make_f2fs_cmd.push_back(std::to_string(length / 512)); } - int result = exec_cmd(f2fs_args); + int result = exec_cmd(make_f2fs_cmd); + if (result == 0 && directory != nullptr) { + cmd = "/sbin/sload.f2fs"; + std::vector<std::string> sload_f2fs_cmd = { + cmd, "-f", directory, "-t", volume, v->blk_device, + }; + result = exec_cmd(sload_f2fs_cmd); + } if (result != 0) { - PLOG(ERROR) << "format_volume: Failed to make f2fs on " << v->blk_device; + PLOG(ERROR) << "format_volume: Failed " << cmd << " on " << v->blk_device; return -1; } return 0; |