Revert ResetUpdateProgress behavior
Have ResetUpdateProgress not delete
kPrefsDynamicPartitionMetadataUpdated so update-engine won't prepare a
snapshot twice in the case that we call allocateSpaceForPayload()
followed by ApplyPayload() on a no-resume install
Test: m update_engine
Bug: 285504009
Change-Id: I5e3cd5cc06b6b0db9ebef5e6192878f0254381ee
diff --git a/payload_consumer/delta_performer.cc b/payload_consumer/delta_performer.cc
index a9670cd..298bde1 100644
--- a/payload_consumer/delta_performer.cc
+++ b/payload_consumer/delta_performer.cc
@@ -1374,7 +1374,10 @@
return true;
}
-bool DeltaPerformer::ResetUpdateProgress(PrefsInterface* prefs, bool quick) {
+bool DeltaPerformer::ResetUpdateProgress(
+ PrefsInterface* prefs,
+ bool quick,
+ bool skip_dynamic_partititon_metadata_updated) {
TEST_AND_RETURN_FALSE(prefs->SetInt64(kPrefsUpdateStateNextOperation,
kUpdateStateOperationInvalid));
if (!quick) {
@@ -1388,9 +1391,10 @@
prefs->SetInt64(kPrefsResumedUpdateFailures, 0);
prefs->Delete(kPrefsPostInstallSucceeded);
prefs->Delete(kPrefsVerityWritten);
-
- LOG(INFO) << "Resetting recorded hash for prepared partitions.";
- prefs->Delete(kPrefsDynamicPartitionMetadataUpdated);
+ if (!skip_dynamic_partititon_metadata_updated) {
+ LOG(INFO) << "Resetting recorded hash for prepared partitions.";
+ prefs->Delete(kPrefsDynamicPartitionMetadataUpdated);
+ }
}
return true;
}