Only verify the source partition which target hash mismatch.

There's no need to go back to the first partition when target partition
hash failed, those partitions already passed target hash verification.
We should directly go ahead and verify the source partition corresponding
to the current partition which target hash doesn't match, and that should
be the only source partition we verify.

Test: ./update_engine_unittests
Bug: None

Change-Id: I6754d329d62fbed214e2b01568b290a60ad746ac
1 file changed
tree: 6514e5569b04b71ec3ef77cc596a4060d25f9abf
  1. binder_bindings/
  2. client_library/
  3. common/
  4. dbus_bindings/
  5. include/
  6. init/
  7. payload_consumer/
  8. payload_generator/
  9. sample_images/
  10. scripts/
  11. update_manager/
  12. update_payload_key/
  13. weaved/
  14. .gitignore
  15. Android.mk
  16. binder_service_android.cc
  17. binder_service_android.h
  18. binder_service_brillo.cc
  19. binder_service_brillo.h
  20. boot_control_android.cc
  21. boot_control_android.h
  22. boot_control_chromeos.cc
  23. boot_control_chromeos.h
  24. boot_control_chromeos_unittest.cc
  25. chrome_browser_proxy_resolver.cc
  26. chrome_browser_proxy_resolver.h
  27. chrome_browser_proxy_resolver_unittest.cc
  28. common_service.cc
  29. common_service.h
  30. common_service_unittest.cc
  31. connection_manager.cc
  32. connection_manager.h
  33. connection_manager_interface.h
  34. connection_manager_unittest.cc
  35. daemon.cc
  36. daemon.h
  37. daemon_state_android.cc
  38. daemon_state_android.h
  39. daemon_state_interface.h
  40. dbus_service.cc
  41. dbus_service.h
  42. dbus_test_utils.h
  43. fake_file_writer.h
  44. fake_p2p_manager.h
  45. fake_p2p_manager_configuration.h
  46. fake_shill_proxy.cc
  47. fake_shill_proxy.h
  48. fake_system_state.cc
  49. fake_system_state.h
  50. generate_pc_file.sh
  51. hardware_android.cc
  52. hardware_android.h
  53. hardware_chromeos.cc
  54. hardware_chromeos.h
  55. hardware_chromeos_unittest.cc
  56. image_properties.h
  57. image_properties_android.cc
  58. image_properties_chromeos.cc
  59. image_properties_chromeos_unittest.cc
  60. libcros_proxy.cc
  61. libcros_proxy.h
  62. libupdate_engine-client-test.pc.in
  63. libupdate_engine-client.pc.in
  64. local_coverage_rate
  65. main.cc
  66. metrics.cc
  67. metrics.h
  68. metrics_utils.cc
  69. metrics_utils.h
  70. metrics_utils_unittest.cc
  71. mock_connection_manager.h
  72. mock_file_writer.h
  73. mock_omaha_request_params.h
  74. mock_p2p_manager.h
  75. mock_payload_state.h
  76. mock_proxy_resolver.h
  77. mock_update_attempter.h
  78. MODULE_LICENSE_APACHE2
  79. NOTICE
  80. omaha_request_action.cc
  81. omaha_request_action.h
  82. omaha_request_action_unittest.cc
  83. omaha_request_params.cc
  84. omaha_request_params.h
  85. omaha_request_params_unittest.cc
  86. omaha_response.h
  87. omaha_response_handler_action.cc
  88. omaha_response_handler_action.h
  89. omaha_response_handler_action_unittest.cc
  90. omaha_utils.cc
  91. omaha_utils.h
  92. omaha_utils_unittest.cc
  93. OWNERS
  94. p2p_manager.cc
  95. p2p_manager.h
  96. p2p_manager_unittest.cc
  97. parcelable_update_engine_status.cc
  98. parcelable_update_engine_status.h
  99. payload_state.cc
  100. payload_state.h
  101. payload_state_interface.h
  102. payload_state_unittest.cc
  103. PRESUBMIT.cfg
  104. proxy_resolver.cc
  105. proxy_resolver.h
  106. real_system_state.cc
  107. real_system_state.h
  108. run_unittests
  109. sample_omaha_v3_response.xml
  110. service_delegate_android_interface.h
  111. service_observer_interface.h
  112. shill_proxy.cc
  113. shill_proxy.h
  114. shill_proxy_interface.h
  115. system_state.h
  116. tar_bunzip2.gypi
  117. test_http_server.cc
  118. test_subprocess.cc
  119. testrunner.cc
  120. unittest_key.pem
  121. unittest_key2.pem
  122. update_attempter.cc
  123. update_attempter.h
  124. update_attempter_android.cc
  125. update_attempter_android.h
  126. update_attempter_unittest.cc
  127. update_engine-client.gyp
  128. update_engine.conf
  129. update_engine.gyp
  130. update_engine.rc
  131. update_engine_client.cc
  132. update_engine_client_android.cc
  133. update_metadata.proto
  134. update_status_utils.cc
  135. update_status_utils.h
  136. UpdateEngine.conf
  137. WATCHLISTS
  138. weave_service.cc
  139. weave_service.h
  140. weave_service_factory.cc
  141. weave_service_factory.h
  142. weave_service_interface.h