Skip writing verity if already written.

Computing FEC on device could take up to 3 minutes depending on
partition size, we should skip it if it's already written.
This is similar to how we skip postinstall for postponed OTA, but we
don't require passing additional header here because we can verify the
correctness of the verity data within update_engine itself.

Bug: 28171891
Test: update_engine_unittests

Change-Id: Ie9883e2260d95c05aec169dd1fde12beea0bdade
8 files changed
tree: b9c4279dd90e63c256834c63486ad5824865fb65
  1. binder_bindings/
  2. client_library/
  3. common/
  4. dbus_bindings/
  5. init/
  6. payload_consumer/
  7. payload_generator/
  8. sample_images/
  9. scripts/
  10. update_manager/
  11. update_payload_key/
  12. .clang-format
  13. .gitignore
  14. Android.bp
  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_android_unittest.cc
  23. boot_control_chromeos.cc
  24. boot_control_chromeos.h
  25. boot_control_chromeos_unittest.cc
  26. boot_control_recovery.cc
  27. boot_control_recovery.h
  28. boot_control_recovery_stub.cc
  29. certificate_checker.cc
  30. certificate_checker.h
  31. certificate_checker_unittest.cc
  32. chrome_browser_proxy_resolver.cc
  33. chrome_browser_proxy_resolver.h
  34. COMMIT-QUEUE.ini
  35. common_service.cc
  36. common_service.h
  37. common_service_unittest.cc
  38. connection_manager.cc
  39. connection_manager.h
  40. connection_manager_android.cc
  41. connection_manager_android.h
  42. connection_manager_interface.h
  43. connection_manager_unittest.cc
  44. connection_utils.cc
  45. connection_utils.h
  46. CPPLINT.cfg
  47. daemon.cc
  48. daemon.h
  49. daemon_state_android.cc
  50. daemon_state_android.h
  51. daemon_state_interface.h
  52. dbus_connection.cc
  53. dbus_connection.h
  54. dbus_service.cc
  55. dbus_service.h
  56. dbus_test_utils.h
  57. dynamic_partition_control_android.cc
  58. dynamic_partition_control_android.h
  59. dynamic_partition_control_interface.h
  60. fake_file_writer.h
  61. fake_p2p_manager.h
  62. fake_p2p_manager_configuration.h
  63. fake_shill_proxy.cc
  64. fake_shill_proxy.h
  65. fake_system_state.cc
  66. fake_system_state.h
  67. generate_pc_file.sh
  68. hardware_android.cc
  69. hardware_android.h
  70. hardware_chromeos.cc
  71. hardware_chromeos.h
  72. hardware_chromeos_unittest.cc
  73. image_properties.h
  74. image_properties_android.cc
  75. image_properties_android_unittest.cc
  76. image_properties_chromeos.cc
  77. image_properties_chromeos_unittest.cc
  78. libcurl_http_fetcher.cc
  79. libcurl_http_fetcher.h
  80. libupdate_engine-client-test.pc.in
  81. libupdate_engine-client.pc.in
  82. local_coverage_rate
  83. main.cc
  84. metrics_constants.h
  85. metrics_reporter_android.cc
  86. metrics_reporter_android.h
  87. metrics_reporter_interface.h
  88. metrics_reporter_omaha.cc
  89. metrics_reporter_omaha.h
  90. metrics_reporter_omaha_unittest.cc
  91. metrics_reporter_stub.cc
  92. metrics_reporter_stub.h
  93. metrics_utils.cc
  94. metrics_utils.h
  95. metrics_utils_unittest.cc
  96. mock_boot_control_hal.h
  97. mock_certificate_checker.h
  98. mock_connection_manager.h
  99. mock_dynamic_partition_control.h
  100. mock_file_writer.h
  101. mock_metrics_reporter.h
  102. mock_omaha_request_params.h
  103. mock_p2p_manager.h
  104. mock_payload_state.h
  105. mock_power_manager.h
  106. mock_service_observer.h
  107. mock_update_attempter.h
  108. MODULE_LICENSE_APACHE2
  109. network_selector.h
  110. network_selector_android.cc
  111. network_selector_android.h
  112. network_selector_interface.h
  113. network_selector_stub.cc
  114. network_selector_stub.h
  115. NOTICE
  116. omaha_request_action.cc
  117. omaha_request_action.h
  118. omaha_request_action_unittest.cc
  119. omaha_request_params.cc
  120. omaha_request_params.h
  121. omaha_request_params_unittest.cc
  122. omaha_response.h
  123. omaha_response_handler_action.cc
  124. omaha_response_handler_action.h
  125. omaha_response_handler_action_unittest.cc
  126. omaha_utils.cc
  127. omaha_utils.h
  128. omaha_utils_unittest.cc
  129. OWNERS
  130. p2p_manager.cc
  131. p2p_manager.h
  132. p2p_manager_unittest.cc
  133. parcelable_update_engine_status.cc
  134. parcelable_update_engine_status.h
  135. parcelable_update_engine_status_unittest.cc
  136. payload_state.cc
  137. payload_state.h
  138. payload_state_interface.h
  139. payload_state_unittest.cc
  140. power_manager_android.cc
  141. power_manager_android.h
  142. power_manager_chromeos.cc
  143. power_manager_chromeos.h
  144. power_manager_interface.h
  145. PRESUBMIT.cfg
  146. PREUPLOAD.cfg
  147. pylintrc
  148. real_system_state.cc
  149. real_system_state.h
  150. run_unittests
  151. sample_omaha_v3_response.xml
  152. service_delegate_android_interface.h
  153. service_observer_interface.h
  154. shill_proxy.cc
  155. shill_proxy.h
  156. shill_proxy_interface.h
  157. sideload_main.cc
  158. system_state.h
  159. tar_bunzip2.gypi
  160. test_http_server.cc
  161. test_subprocess.cc
  162. testrunner.cc
  163. unittest_key.pem
  164. unittest_key2.pem
  165. update_attempter.cc
  166. update_attempter.h
  167. update_attempter_android.cc
  168. update_attempter_android.h
  169. update_attempter_android_unittest.cc
  170. update_attempter_unittest.cc
  171. update_boot_flags_action.cc
  172. update_boot_flags_action.h
  173. update_boot_flags_action_unittest.cc
  174. update_engine-client.gyp
  175. update_engine.conf
  176. update_engine.gyp
  177. update_engine.rc
  178. update_engine_client.cc
  179. update_engine_client_android.cc
  180. update_metadata.proto
  181. update_status_utils.cc
  182. update_status_utils.h
  183. UpdateEngine.conf