diff options
author | Tianjie <xunchang@google.com> | 2020-06-30 12:26:25 -0700 |
---|---|---|
committer | Tianjie Xu <xunchang@google.com> | 2020-07-09 20:15:08 +0000 |
commit | 24f960986b1337f14eb8e86382cb62aed5d1153c (patch) | |
tree | ea47bdb983a0b692fc02fe2b5e84029d7d6002f7 /common/dynamic_partition_control_interface.h | |
parent | d2da7b1990e0fee1c99bf64aa562cef572aaa061 (diff) |
Verify the extents for untouched dynamic partitions during partial update
For partial updates, the metadata for untouched dynamic partitions
are just copied over to the target slot. So, verifying the extents
of these partitions in the target metadata should be sufficient for
correctness. This saves the work to read & hash the bytes on these
partitions for each resumed update.
Bug: 151088567
Test: unit tests pass, apply a partial update
Change-Id: I9d40ed2643e145a1546ea17b146fcdcfb91f213f
Diffstat (limited to 'common/dynamic_partition_control_interface.h')
-rw-r--r-- | common/dynamic_partition_control_interface.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/common/dynamic_partition_control_interface.h b/common/dynamic_partition_control_interface.h index 7289deee..7c2d0b0c 100644 --- a/common/dynamic_partition_control_interface.h +++ b/common/dynamic_partition_control_interface.h @@ -130,6 +130,13 @@ class DynamicPartitionControlInterface { // the result in |path|. Returns true on success. // Sample result: /dev/block/by-name/ virtual bool GetDeviceDir(std::string* path) = 0; + + // Verifies that the untouched dynamic partitions in the target metadata have + // the same extents as the source metadata. + virtual bool VerifyExtentsForUntouchedPartitions( + uint32_t source_slot, + uint32_t target_slot, + const std::vector<std::string>& partitions) = 0; }; } // namespace chromeos_update_engine |