Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(858)

Side by Side Diff: delta_diff_generator.h

Issue 4610001: AU: Speed up full update payload generation by running multiple threads. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/update_engine.git@master
Patch Set: doc strings Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__ 5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__
6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__ 6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 // success. 187 // success.
188 static bool AssignTempBlocks( 188 static bool AssignTempBlocks(
189 Graph* graph, 189 Graph* graph,
190 const std::string& new_root, 190 const std::string& new_root,
191 int data_fd, 191 int data_fd,
192 off_t* data_file_size, 192 off_t* data_file_size,
193 std::vector<Vertex::Index>* op_indexes, 193 std::vector<Vertex::Index>* op_indexes,
194 std::vector<std::vector<Vertex::Index>::size_type>* reverse_op_indexes, 194 std::vector<std::vector<Vertex::Index>::size_type>* reverse_op_indexes,
195 const std::vector<CutEdgeVertexes>& cuts); 195 const std::vector<CutEdgeVertexes>& cuts);
196 196
197 // Given a new rootfs and kernel (|new_image|, |new_kernel_part|), Reads them
198 // sequentially, creating a full update of chunk_size chunks. Populates
199 // |graph|, |kernel_ops|, and |final_order|, with data about the update
200 // operations, and writes relevant data to |fd|, updating |data_file_size| as
201 // it does. Only the first |image_size| bytes are read from |new_image|
202 // assuming that this is the actual file system.
203 static bool ReadFullUpdateFromDisk(
204 Graph* graph,
205 const std::string& new_kernel_part,
206 const std::string& new_image,
207 off_t image_size,
208 int fd,
209 off_t* data_file_size,
210 off_t chunk_size,
211 std::vector<DeltaArchiveManifest_InstallOperation>* kernel_ops,
212 std::vector<Vertex::Index>* final_order);
213
214 // Returns true if |op| is a no-op operation that doesn't do any useful work 197 // Returns true if |op| is a no-op operation that doesn't do any useful work
215 // (e.g., a move operation that copies blocks onto themselves). 198 // (e.g., a move operation that copies blocks onto themselves).
216 static bool IsNoopOperation(const DeltaArchiveManifest_InstallOperation& op); 199 static bool IsNoopOperation(const DeltaArchiveManifest_InstallOperation& op);
217 200
218 static bool InitializePartitionInfo(bool is_kernel, 201 static bool InitializePartitionInfo(bool is_kernel,
219 const std::string& partition, 202 const std::string& partition,
220 PartitionInfo* info); 203 PartitionInfo* info);
221 204
222 private: 205 private:
223 // This should never be constructed 206 // This should never be constructed
224 DISALLOW_IMPLICIT_CONSTRUCTORS(DeltaDiffGenerator); 207 DISALLOW_IMPLICIT_CONSTRUCTORS(DeltaDiffGenerator);
225 }; 208 };
226 209
227 extern const char* const kBsdiffPath; 210 extern const char* const kBsdiffPath;
228 extern const char* const kBspatchPath; 211 extern const char* const kBspatchPath;
229 extern const char* const kDeltaMagic; 212 extern const char* const kDeltaMagic;
230 213
231 }; // namespace chromeos_update_engine 214 }; // namespace chromeos_update_engine
232 215
233 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__ 216 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_DELTA_DIFF_GENERATOR_H__
OLDNEW
« no previous file with comments | « SConstruct ('k') | delta_diff_generator.cc » ('j') | full_update_generator.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698