From 406a6ff5e69fc037506d4f4a90a4f2d27b94acce Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Mon, 30 Apr 2018 10:05:57 -0700 Subject: [PATCH] recovery: Fix the return value when failing to convert to FBE. Test: Build and flash aosp_angler-userdebug. Choose 'Convert to file encryption' from Developer Options. Converting to FBE still works. Change-Id: I75ac0e266af2d00bfaff0664f8bcee74a5f16b41 --- recovery.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/recovery.cpp b/recovery.cpp index d7bbb13d..9ee243d9 100644 --- a/recovery.cpp +++ b/recovery.cpp @@ -86,8 +86,6 @@ static const char *COMMAND_FILE = "/cache/recovery/command"; static const char *LOG_FILE = "/cache/recovery/log"; static const char *LAST_INSTALL_FILE = "/cache/recovery/last_install"; static const char *LOCALE_FILE = "/cache/recovery/last_locale"; -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"; @@ -551,16 +549,18 @@ static bool erase_volume(const char* volume) { int result; if (is_data && reason && strcmp(reason, "convert_fbe") == 0) { - // Create convert_fbe breadcrumb file to signal to init - // to convert to file based encryption, not full disk encryption + static constexpr const char* CONVERT_FBE_DIR = "/tmp/convert_fbe"; + static constexpr const char* CONVERT_FBE_FILE = "/tmp/convert_fbe/convert_fbe"; + // Create convert_fbe breadcrumb file to signal init to convert to file based encryption, not + // full disk encryption. if (mkdir(CONVERT_FBE_DIR, 0700) != 0) { - ui->Print("Failed to make convert_fbe dir %s\n", strerror(errno)); - return true; + PLOG(ERROR) << "Failed to mkdir " << CONVERT_FBE_DIR; + return false; } FILE* f = fopen(CONVERT_FBE_FILE, "wbe"); if (!f) { - ui->Print("Failed to convert to file encryption %s\n", strerror(errno)); - return true; + PLOG(ERROR) << "Failed to convert to file encryption"; + return false; } fclose(f); result = format_volume(volume, CONVERT_FBE_DIR);