commit | 1d732e8387fa83131b0c14b10e733886e4ca3f6b | [log] [tgz] |
---|---|---|
author | Kelvin Zhang <zhangkelvin@google.com> | Thu Aug 19 21:51:41 2021 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Thu Aug 19 21:51:41 2021 +0000 |
tree | 89f59bb6631b77da3218c89e59332fa217d008bb | |
parent | 0eab7111109175ec98315bfd156e4d2dab2dc52a [diff] | |
parent | 5e4e293510d3e1e7d48093a99ed87e4bbb51cdfd [diff] |
Document the quirks of merge sequence am: 5e4e293510 Original change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1792748 Change-Id: I9879eaba13772967415d59076c0e084c5cee1652
diff --git a/payload_generator/merge_sequence_generator.cc b/payload_generator/merge_sequence_generator.cc index 7f5032b..6cbb57b 100644 --- a/payload_generator/merge_sequence_generator.cc +++ b/payload_generator/merge_sequence_generator.cc
@@ -269,6 +269,11 @@ } } + // Technically, we can use std::unordered_set or just a std::vector. but + // std::set gives the benefit where operations are sorted by dst blocks. This + // will ensure that operations that do not have dependency constraints appear + // in increasing block order. Such order would help snapuserd batch merges and + // improve boot time, but isn't strictly needed for correctness. std::set<CowMergeOperation> free_operations; for (const auto& op : operations_) { if (incoming_edges.find(op) == incoming_edges.end()) {