update_engine: Place enterprise rollback save marker file
- There are now two types of rollback. One that does a full powerwash
and one that save some system state.
- When an enterprise rollback powerwash is scheduled, place a marker
file to tell the shutdown process to save data before rebooting.
- This lets rollback preserve additional data over a powerwash that
can be restored later.
- Change a few places that were using is_rollback to save_rollback_data
to be explicit.
BUG=chromium:955463
TEST=unittests
Change-Id: I9f18319e711e425a6e712dd319e03bcc6ddd0a1b
Reviewed-on: https://chromium-review.googlesource.com/1414030
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/omaha_request_params.h b/omaha_request_params.h
index 6691bee..2d2ab69 100644
--- a/omaha_request_params.h
+++ b/omaha_request_params.h
@@ -51,6 +51,7 @@
delta_okay_(true),
interactive_(false),
rollback_allowed_(false),
+ rollback_data_save_requested_(false),
wall_clock_based_wait_enabled_(false),
update_check_count_wait_enabled_(false),
min_update_checks_needed_(kDefaultMinUpdateChecks),
@@ -132,6 +133,15 @@
inline bool rollback_allowed() const { return rollback_allowed_; }
+ inline void set_rollback_data_save_requested(
+ bool rollback_data_save_requested) {
+ rollback_data_save_requested_ = rollback_data_save_requested;
+ }
+
+ inline bool rollback_data_save_requested() const {
+ return rollback_data_save_requested_;
+ }
+
inline void set_rollback_allowed_milestones(int rollback_allowed_milestones) {
rollback_allowed_milestones_ = rollback_allowed_milestones;
}
@@ -330,6 +340,9 @@
// Whether the client is accepting rollback images too.
bool rollback_allowed_;
+ // Whether rollbacks should preserve some system state during powerwash.
+ bool rollback_data_save_requested_;
+
// How many milestones the client can rollback to.
int rollback_allowed_milestones_;