From a30b6964d69886a2f8786a760eea962e90c10f79 Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Tue, 20 Nov 2018 11:04:15 -0800 Subject: fastboot: propagate error for format command If fastboot format command fails, return error. Test: adb-remount-test.sh Bug: 109821005 Change-Id: Ic4e1a1dea8861028f19ac7f9c834d26e8adba56c --- fastboot/fastboot.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'fastboot') diff --git a/fastboot/fastboot.cpp b/fastboot/fastboot.cpp index e066bfff7..8b238ee54 100644 --- a/fastboot/fastboot.cpp +++ b/fastboot/fastboot.cpp @@ -1466,15 +1466,13 @@ static void fb_perform_format( fprintf(stderr, "File system type %s not supported.\n", partition_type.c_str()); return; } - fprintf(stderr, "Formatting is not supported for file system with type '%s'.\n", - partition_type.c_str()); - return; + die("Formatting is not supported for file system with type '%s'.", + partition_type.c_str()); } int64_t size; if (!android::base::ParseInt(partition_size, &size)) { - fprintf(stderr, "Couldn't parse partition size '%s'.\n", partition_size.c_str()); - return; + die("Couldn't parse partition size '%s'.", partition_size.c_str()); } unsigned eraseBlkSize, logicalBlkSize; @@ -1484,17 +1482,14 @@ static void fb_perform_format( if (fs_generator_generate(gen, output.path, size, initial_dir, eraseBlkSize, logicalBlkSize)) { die("Cannot generate image for %s", partition.c_str()); - return; } fd.reset(open(output.path, O_RDONLY)); if (fd == -1) { - fprintf(stderr, "Cannot open generated image: %s\n", strerror(errno)); - return; + die("Cannot open generated image: %s", strerror(errno)); } if (!load_buf_fd(fd.release(), &buf)) { - fprintf(stderr, "Cannot read image: %s\n", strerror(errno)); - return; + die("Cannot read image: %s", strerror(errno)); } flash_buf(partition, &buf); return; @@ -1505,6 +1500,9 @@ failed: if (errMsg) fprintf(stderr, "%s", errMsg); } fprintf(stderr, "FAILED (%s)\n", fb->Error().c_str()); + if (!skip_if_not_supported) { + die("Command failed"); + } } static bool should_flash_in_userspace(const std::string& partition_name) { -- cgit v1.2.3