4073fd6bb7dcc302f5c9e5b64d68946730c4fe82 |
|
06-Feb-2016 |
Alex Deymo <deymo@google.com> |
Replace is_full_update boolean with a payload_state enum. The "is_full_update" flag in the InstallPlan is required to decide whether we should run a FilesystemVerification step before start downloading the payload (for delta payloads) or not (for full payloads). This step is done before start downloading the payload and not after downloading the metadata to avoid long delays in the connection which would then drop and require a retry. Since the not so recent inclusion of the source_data_hash field in the delta operations, the source data is verified on each operation, so the install plan field and the pre-download FilesystemVerification is not needed anymore. To help deprecate this process, which is not included in the non-Brillo version, this patch changes the is_full_update field to a payload_state enum with a third "unknown" state that will be changed to delta or full once the payload metadata is parsed. Bug: 25631949 TEST=unittests updated. TEST=Pushed a delta update to edison-eng and a non-Brillo target. (cherry picked from commit 64d9878470aa7b388e971862181daf6260851602) Change-Id: I9191f604f978cea0c1587684b006031e3e556ddf
/system/update_engine/payload_consumer/filesystem_verifier_action.cc
|
1ad42adc806890b3a42bb729435a5cee83ef4e33 |
|
18-Nov-2015 |
Sen Jiang <senj@google.com> |
Optional source filesystem verification in minor version 3. In minor version 3, we use per-operation source hash to verify the source instead of whole filesystem hash, but if target partition doesn't match, we still need to check the source partition to see if it is the cause. Bug: 23182225 TEST=Applied a minor version 3 delta payload. TEST=cros_workon_make update_engine --test Change-Id: I1f32c292d2938540b63f086cf4988d64620702a5
/system/update_engine/payload_consumer/filesystem_verifier_action.cc
|
39910dcd1d68987ccee7c3031dc269233a8490bb |
|
10-Nov-2015 |
Alex Deymo <deymo@google.com> |
Split payload application code into a subdirectory. This patch splits from the main libupdate_engine code the part that is strictly used to download and apply a payload into a new static library, moving the code to subdirectories. The new library is divided in two subdirectories: common/ and payload_consumer/, and should not depend on other update_engine files outside those two subdirectories. The main difference between those two is that the common/ tools are more generic and not tied to the payload consumer process, but otherwise they are both compiled together. There are still dependencies from the new libpayload_consumer library into the main directory files and DBus generated files. Those will be addressed in follow up CLs. Bug: 25197634 Test: FEATURES=test emerge-link update_engine; `mm` on Brillo. Change-Id: Id8d0204ea573627e6e26ca9ea17b9592ca95bc23
/system/update_engine/payload_consumer/filesystem_verifier_action.cc
|