diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-04-25 04:38:11 +0200 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-04-25 04:38:11 +0200 |
commit | 897385bfe29a362c0ae541c9e09d58fe3563a77d (patch) | |
tree | 9d7a401095d6fcc1bb6af50e49b0d4e4b39c5c3a | |
parent | Merge "Dump debug information for apply_patch unit tests" (diff) | |
parent | Wipe the metadata partition when we wipe data. (diff) | |
download | android_bootable_recovery-897385bfe29a362c0ae541c9e09d58fe3563a77d.tar android_bootable_recovery-897385bfe29a362c0ae541c9e09d58fe3563a77d.tar.gz android_bootable_recovery-897385bfe29a362c0ae541c9e09d58fe3563a77d.tar.bz2 android_bootable_recovery-897385bfe29a362c0ae541c9e09d58fe3563a77d.tar.lz android_bootable_recovery-897385bfe29a362c0ae541c9e09d58fe3563a77d.tar.xz android_bootable_recovery-897385bfe29a362c0ae541c9e09d58fe3563a77d.tar.zst android_bootable_recovery-897385bfe29a362c0ae541c9e09d58fe3563a77d.zip |
-rw-r--r-- | recovery.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/recovery.cpp b/recovery.cpp index 910cd8296..ceb19413a 100644 --- a/recovery.cpp +++ b/recovery.cpp @@ -108,6 +108,7 @@ static const char *CONVERT_FBE_DIR = "/tmp/convert_fbe"; static const char *CONVERT_FBE_FILE = "/tmp/convert_fbe/convert_fbe"; static const char *CACHE_ROOT = "/cache"; static const char *DATA_ROOT = "/data"; +static const char* METADATA_ROOT = "/metadata"; static const char *SDCARD_ROOT = "/sdcard"; static const char *TEMPORARY_LOG_FILE = "/tmp/recovery.log"; static const char *TEMPORARY_INSTALL_FILE = "/tmp/last_install"; @@ -752,11 +753,19 @@ static bool wipe_data(Device* device) { modified_flash = true; ui->Print("\n-- Wiping data...\n"); - bool success = - device->PreWipeData() && - erase_volume("/data") && - (has_cache ? erase_volume("/cache") : true) && - device->PostWipeData(); + bool success = device->PreWipeData(); + if (success) { + success &= erase_volume(DATA_ROOT); + if (has_cache) { + success &= erase_volume(CACHE_ROOT); + } + if (volume_for_mount_point(METADATA_ROOT) != nullptr) { + success &= erase_volume(METADATA_ROOT); + } + } + if (success) { + success &= device->PostWipeData(); + } ui->Print("Data wipe %s.\n", success ? "complete" : "failed"); return success; } |