ResetStatus() reverts the boot flags changes.
ResetStatus() is a developer only command used to drop the currently
applied update and go back the idle status. This allows fast testing of
payload application without reboots.
Bug: chromium:224707
Test: update_engine_client --reset_status; `reboot` boots to the same slot.
Change-Id: I7e2bc46247ee5c48aa634c4bdf6f3c577a199647
diff --git a/update_attempter.cc b/update_attempter.cc
index 81f423d..cda244d 100644
--- a/update_attempter.cc
+++ b/update_attempter.cc
@@ -1145,6 +1145,11 @@
ret_value = false;
}
+ // Update the boot flags so the current slot has higher priority.
+ BootControlInterface* boot_control = system_state_->boot_control();
+ if (!boot_control->SetActiveBootSlot(boot_control->GetCurrentSlot()))
+ ret_value = false;
+
// Notify the PayloadState that the successful payload was canceled.
system_state_->payload_state()->ResetUpdateStatus();