summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSen Jiang <senj@google.com>2018-04-23 13:36:19 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-04-23 13:36:19 -0700
commitdf2bdd1eda06cd04cb23884697b562faad80461f (patch)
treec6ba24bf2cb8dc59aae739d35b5d307c18e98f1a
parentc0da40b2df4c65a71d87d7d86170c1695ecf86de (diff)
parent9b9c12ea7e51d8905140886e00aca8d498c6a8cb (diff)
Fragment each file's operations in parallel.
am: 9b9c12ea7e Change-Id: I3398a55d677436f7c7e747e99b0348e10915b435
-rw-r--r--payload_generator/ab_generator.cc3
-rw-r--r--payload_generator/delta_diff_utils.cc8
2 files changed, 8 insertions, 3 deletions
diff --git a/payload_generator/ab_generator.cc b/payload_generator/ab_generator.cc
index 962118e1..f24f6c37 100644
--- a/payload_generator/ab_generator.cc
+++ b/payload_generator/ab_generator.cc
@@ -57,9 +57,6 @@ bool ABGenerator::GenerateOperations(
blob_file));
LOG(INFO) << "done reading " << new_part.name;
- LOG(INFO) << "Fragmenting " << aops->size() << " operations.";
- TEST_AND_RETURN_FALSE(
- FragmentOperations(config.version, aops, new_part.path, blob_file));
SortOperationsByDestination(aops);
// Use the soft_chunk_size when merging operations to prevent merging all
diff --git a/payload_generator/delta_diff_utils.cc b/payload_generator/delta_diff_utils.cc
index 4ee1024f..7293c654 100644
--- a/payload_generator/delta_diff_utils.cc
+++ b/payload_generator/delta_diff_utils.cc
@@ -49,6 +49,7 @@
#include "update_engine/common/subprocess.h"
#include "update_engine/common/utils.h"
#include "update_engine/payload_consumer/payload_constants.h"
+#include "update_engine/payload_generator/ab_generator.h"
#include "update_engine/payload_generator/block_mapping.h"
#include "update_engine/payload_generator/bzip.h"
#include "update_engine/payload_generator/deflate_utils.h"
@@ -261,6 +262,13 @@ void FileDeltaProcessor::Run() {
<< new_extents_blocks_ << " blocks)";
}
+ if (!version_.InplaceUpdate()) {
+ if (!ABGenerator::FragmentOperations(
+ version_, &file_aops_, new_part_, blob_file_)) {
+ LOG(ERROR) << "Failed to fragment operations for " << name_;
+ }
+ }
+
LOG(INFO) << "Encoded file " << name_ << " (" << new_extents_blocks_
<< " blocks) in " << (base::Time::Now() - start).InSecondsF()
<< " seconds.";