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

Side by Side Diff: metadata.cc

Issue 6014014: Revert "Break metadata into smaller chunks (number of chunks=10) for faster delta generation." (Closed) Base URL: http://git.chromium.org/git/update_engine.git@master
Patch Set: Created 9 years, 11 months 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include <algorithm> 5 #include <algorithm>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include <base/string_util.h> 9 #include <base/string_util.h>
10 #include <et/com_err.h> 10 #include <et/com_err.h>
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 // until the end of the inode table. 213 // until the end of the inode table.
214 for (dgrp_t bg = 0; bg < fs_old->group_desc_count; bg++) { 214 for (dgrp_t bg = 0; bg < fs_old->group_desc_count; bg++) {
215 struct ext2_group_desc* group_desc = &fs_old->group_desc[bg]; 215 struct ext2_group_desc* group_desc = &fs_old->group_desc[bg];
216 __u32 num_metadata_blocks = (group_desc->bg_inode_table + 216 __u32 num_metadata_blocks = (group_desc->bg_inode_table +
217 fs_old->inode_blocks_per_group) - 217 fs_old->inode_blocks_per_group) -
218 (bg * fs_old->super->s_blocks_per_group); 218 (bg * fs_old->super->s_blocks_per_group);
219 __u32 bg_start_block = bg * fs_old->super->s_blocks_per_group; 219 __u32 bg_start_block = bg * fs_old->super->s_blocks_per_group;
220 220
221 // Due to bsdiff slowness, we're going to break each block group down 221 // Due to bsdiff slowness, we're going to break each block group down
222 // into metadata chunks and feed them to bsdiff. 222 // into metadata chunks and feed them to bsdiff.
223 __u32 num_chunks = 10; 223 __u32 num_chunks = 4;
224 __u32 blocks_per_chunk = num_metadata_blocks / num_chunks; 224 __u32 blocks_per_chunk = num_metadata_blocks / num_chunks;
225 __u32 curr_block = bg_start_block; 225 __u32 curr_block = bg_start_block;
226 for (__u32 chunk = 0; chunk < num_chunks; chunk++) { 226 for (__u32 chunk = 0; chunk < num_chunks; chunk++) {
227 Extent extent; 227 Extent extent;
228 if (chunk < num_chunks - 1) { 228 if (chunk < num_chunks - 1) {
229 extent = ExtentForRange(curr_block, blocks_per_chunk); 229 extent = ExtentForRange(curr_block, blocks_per_chunk);
230 } else { 230 } else {
231 extent = ExtentForRange(curr_block, 231 extent = ExtentForRange(curr_block,
232 bg_start_block + num_metadata_blocks - 232 bg_start_block + num_metadata_blocks -
233 curr_block); 233 curr_block);
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 blocks, 473 blocks,
474 fs_old, 474 fs_old,
475 fs_new, 475 fs_new,
476 data_fd, 476 data_fd,
477 data_file_size)); 477 data_file_size));
478 478
479 return true; 479 return true;
480 } 480 }
481 481
482 }; // namespace chromeos_update_engine 482 }; // namespace chromeos_update_engine
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698