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

Side by Side Diff: delta_diff_generator.cc

Issue 3170010: [update_engine] Update to use not-hideously-old logging API from chrome (Closed) Base URL: http://src.chromium.org/git/update_engine.git
Patch Set: Created 10 years, 4 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
« no previous file with comments | « cycle_breaker_unittest.cc ('k') | delta_diff_generator_unittest.cc » ('j') | 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium 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 "update_engine/delta_diff_generator.h" 5 #include "update_engine/delta_diff_generator.h"
6 #include <sys/stat.h> 6 #include <sys/stat.h>
7 #include <sys/types.h> 7 #include <sys/types.h>
8 #include <errno.h> 8 #include <errno.h>
9 #include <fcntl.h> 9 #include <fcntl.h>
10 #include <algorithm> 10 #include <algorithm>
11 #include <set> 11 #include <set>
12 #include <string> 12 #include <string>
13 #include <utility> 13 #include <utility>
14 #include <vector> 14 #include <vector>
15 #include <bzlib.h> 15 #include <bzlib.h>
16 #include "chromeos/obsolete_logging.h" 16 #include "base/logging.h"
17 #include "update_engine/bzip.h" 17 #include "update_engine/bzip.h"
18 #include "update_engine/cycle_breaker.h" 18 #include "update_engine/cycle_breaker.h"
19 #include "update_engine/extent_mapper.h" 19 #include "update_engine/extent_mapper.h"
20 #include "update_engine/file_writer.h" 20 #include "update_engine/file_writer.h"
21 #include "update_engine/filesystem_iterator.h" 21 #include "update_engine/filesystem_iterator.h"
22 #include "update_engine/graph_types.h" 22 #include "update_engine/graph_types.h"
23 #include "update_engine/graph_utils.h" 23 #include "update_engine/graph_utils.h"
24 #include "update_engine/subprocess.h" 24 #include "update_engine/subprocess.h"
25 #include "update_engine/topological_sort.h" 25 #include "update_engine/topological_sort.h"
26 #include "update_engine/update_metadata.pb.h" 26 #include "update_engine/update_metadata.pb.h"
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 graph->back().op.set_dst_length(graph->back().op.src_length()); 645 graph->back().op.set_dst_length(graph->back().op.src_length());
646 646
647 // make the dest node read from the scratch space 647 // make the dest node read from the scratch space
648 DeltaDiffGenerator::SubstituteBlocks( 648 DeltaDiffGenerator::SubstituteBlocks(
649 &((*graph)[it->second].op), 649 &((*graph)[it->second].op),
650 (*graph)[it->first].out_edges[it->second].extents, 650 (*graph)[it->first].out_edges[it->second].extents,
651 scratch); 651 scratch);
652 652
653 // delete the old edge 653 // delete the old edge
654 CHECK_EQ(1, (*graph)[it->first].out_edges.erase(it->second)); 654 CHECK_EQ(1, (*graph)[it->first].out_edges.erase(it->second));
655 655
656 // Add an edge from dst to copy operation 656 // Add an edge from dst to copy operation
657 (*graph)[it->second].out_edges.insert(make_pair(graph->size() - 1, 657 (*graph)[it->second].out_edges.insert(make_pair(graph->size() - 1,
658 EdgeProperties())); 658 EdgeProperties()));
659 } 659 }
660 return true; 660 return true;
661 } 661 }
662 662
663 // Stores all Extents in 'extents' into 'out'. 663 // Stores all Extents in 'extents' into 'out'.
664 void DeltaDiffGenerator::StoreExtents( 664 void DeltaDiffGenerator::StoreExtents(
665 vector<Extent>& extents, 665 vector<Extent>& extents,
(...skipping 19 matching lines...) Expand all
685 if (blocks[i].reader == blocks[i].writer) 685 if (blocks[i].reader == blocks[i].writer)
686 continue; 686 continue;
687 // See if there's already an edge we can add onto 687 // See if there's already an edge we can add onto
688 Vertex::EdgeMap::iterator edge_it = 688 Vertex::EdgeMap::iterator edge_it =
689 (*graph)[blocks[i].writer].out_edges.find(blocks[i].reader); 689 (*graph)[blocks[i].writer].out_edges.find(blocks[i].reader);
690 if (edge_it == (*graph)[blocks[i].writer].out_edges.end()) { 690 if (edge_it == (*graph)[blocks[i].writer].out_edges.end()) {
691 // No existing edge. Create one 691 // No existing edge. Create one
692 (*graph)[blocks[i].writer].out_edges.insert( 692 (*graph)[blocks[i].writer].out_edges.insert(
693 make_pair(blocks[i].reader, EdgeProperties())); 693 make_pair(blocks[i].reader, EdgeProperties()));
694 edge_it = (*graph)[blocks[i].writer].out_edges.find(blocks[i].reader); 694 edge_it = (*graph)[blocks[i].writer].out_edges.find(blocks[i].reader);
695 CHECK_NE(edge_it, (*graph)[blocks[i].writer].out_edges.end()); 695 CHECK(edge_it != (*graph)[blocks[i].writer].out_edges.end());
696 } 696 }
697 graph_utils::AppendBlockToExtents(&edge_it->second.extents, i); 697 graph_utils::AppendBlockToExtents(&edge_it->second.extents, i);
698 } 698 }
699 } 699 }
700 700
701 bool DeltaDiffGenerator::ReorderDataBlobs( 701 bool DeltaDiffGenerator::ReorderDataBlobs(
702 DeltaArchiveManifest* manifest, 702 DeltaArchiveManifest* manifest,
703 const std::string& data_blobs_path, 703 const std::string& data_blobs_path,
704 const std::string& new_data_blobs_path) { 704 const std::string& new_data_blobs_path) {
705 int in_fd = open(data_blobs_path.c_str(), O_RDONLY, 0); 705 int in_fd = open(data_blobs_path.c_str(), O_RDONLY, 0);
706 TEST_AND_RETURN_FALSE_ERRNO(in_fd >= 0); 706 TEST_AND_RETURN_FALSE_ERRNO(in_fd >= 0);
707 ScopedFdCloser in_fd_closer(&in_fd); 707 ScopedFdCloser in_fd_closer(&in_fd);
708 708
709 DirectFileWriter writer; 709 DirectFileWriter writer;
710 TEST_AND_RETURN_FALSE( 710 TEST_AND_RETURN_FALSE(
711 writer.Open(new_data_blobs_path.c_str(), 711 writer.Open(new_data_blobs_path.c_str(),
712 O_WRONLY | O_TRUNC | O_CREAT, 712 O_WRONLY | O_TRUNC | O_CREAT,
713 0644) == 0); 713 0644) == 0);
714 ScopedFileWriterCloser writer_closer(&writer); 714 ScopedFileWriterCloser writer_closer(&writer);
715 uint64_t out_file_size = 0; 715 uint64_t out_file_size = 0;
716 716
717 for (int i = 0; i < (manifest->install_operations_size() + 717 for (int i = 0; i < (manifest->install_operations_size() +
718 manifest->kernel_install_operations_size()); i++) { 718 manifest->kernel_install_operations_size()); i++) {
719 DeltaArchiveManifest_InstallOperation* op = NULL; 719 DeltaArchiveManifest_InstallOperation* op = NULL;
720 if (i < manifest->install_operations_size()) { 720 if (i < manifest->install_operations_size()) {
721 op = manifest->mutable_install_operations(i); 721 op = manifest->mutable_install_operations(i);
722 } else { 722 } else {
723 op = manifest->mutable_kernel_install_operations( 723 op = manifest->mutable_kernel_install_operations(
724 i - manifest->install_operations_size()); 724 i - manifest->install_operations_size());
725 } 725 }
726 if (!op->has_data_offset()) 726 if (!op->has_data_offset())
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
942 942
943 LOG(INFO) << "All done. Successfully created delta file."; 943 LOG(INFO) << "All done. Successfully created delta file.";
944 return true; 944 return true;
945 } 945 }
946 946
947 const char* const kBsdiffPath = "/usr/bin/bsdiff"; 947 const char* const kBsdiffPath = "/usr/bin/bsdiff";
948 const char* const kBspatchPath = "/usr/bin/bspatch"; 948 const char* const kBspatchPath = "/usr/bin/bspatch";
949 const char* const kDeltaMagic = "CrAU"; 949 const char* const kDeltaMagic = "CrAU";
950 950
951 }; // namespace chromeos_update_engine 951 }; // namespace chromeos_update_engine
OLDNEW
« no previous file with comments | « cycle_breaker_unittest.cc ('k') | delta_diff_generator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698