Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d62002cf authored by Daniel Zheng's avatar Daniel Zheng
Browse files

Add flag to disable super optimization

Adding flag to turn off the super optimization. Makes for easier testing
as dynamic partitions flash tasks won't be replaced by one flash super
layout task

Test: fastboot flashall --disable-super-optimization
Bug: 194686221
Change-Id: I9142490ecfe587725872e4b734486d3db1728aa7
parent 59c22c33
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2191,6 +2191,7 @@ int FastBootTool::Main(int argc, char* argv[]) {
                                      {"cmdline", required_argument, 0, 0},
                                      {"disable-verification", no_argument, 0, 0},
                                      {"disable-verity", no_argument, 0, 0},
                                      {"disable-super-optimization", no_argument, 0, 0},
                                      {"force", no_argument, 0, 0},
                                      {"fs-options", required_argument, 0, 0},
                                      {"header-version", required_argument, 0, 0},
@@ -2228,6 +2229,8 @@ int FastBootTool::Main(int argc, char* argv[]) {
                g_disable_verification = true;
            } else if (name == "disable-verity") {
                g_disable_verity = true;
            } else if (name == "disable-super-optimization") {
                fp->should_optimize_flash_super = false;
            } else if (name == "force") {
                fp->force_flash = true;
            } else if (name == "fs-options") {
+1 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ struct FlashingPlan {
    bool wants_set_active = false;
    bool skip_secondary = false;
    bool force_flash = false;
    bool should_optimize_flash_super = true;

    std::string slot_override;
    std::string current_slot;
+8 −0
Original line number Diff line number Diff line
@@ -124,6 +124,10 @@ std::string FlashSuperLayoutTask::ToString() {

std::unique_ptr<FlashSuperLayoutTask> FlashSuperLayoutTask::Initialize(
        const FlashingPlan* fp, std::vector<ImageEntry>& os_images) {
    if (!fp->should_optimize_flash_super) {
        LOG(INFO) << "super optimization is disabled";
        return nullptr;
    }
    if (!supports_AB()) {
        LOG(VERBOSE) << "Cannot optimize flashing super on non-AB device";
        return nullptr;
@@ -188,6 +192,10 @@ std::unique_ptr<FlashSuperLayoutTask> FlashSuperLayoutTask::Initialize(

std::unique_ptr<FlashSuperLayoutTask> FlashSuperLayoutTask::InitializeFromTasks(
        const FlashingPlan* fp, std::vector<std::unique_ptr<Task>>& tasks) {
    if (!fp->should_optimize_flash_super) {
        LOG(INFO) << "super optimization is disabled";
        return nullptr;
    }
    if (!supports_AB()) {
        LOG(VERBOSE) << "Cannot optimize flashing super on non-AB device";
        return nullptr;