Mark the new slot as not ready from the DownloadAction.

The FilesystemVerifierAction used to copy over the old kernel and old
rootfs to the new slot, invalidating the contents of the new slot
during the copy. Since now it only parses the source partitions,
marking the new slot as unbootable can be delayed until the payload
starts to download.

Bug: 24667689
Test: FEATURES=test emerge-link update_engine

Change-Id: I17736a10787cb747d181e8dffcc0bc58f9a0cabb
4 files changed
tree: e3fd28eedf720e18ac39a594c714defa7ef123ad
  1. client_library/
  2. dbus_bindings/
  3. include/
  4. init/
  5. payload_generator/
  6. sample_images/
  7. update_manager/
  8. update_payload_key/
  9. .gitignore
  10. action.h
  11. action_pipe.h
  12. action_pipe_unittest.cc
  13. action_processor.cc
  14. action_processor.h
  15. action_processor_unittest.cc
  16. action_unittest.cc
  17. Android.mk
  18. boot_control.h
  19. boot_control_android.cc
  20. boot_control_android.h
  21. boot_control_chromeos.cc
  22. boot_control_chromeos.h
  23. boot_control_chromeos_unittest.cc
  24. boot_control_interface.h
  25. bzip.cc
  26. bzip.h
  27. bzip_extent_writer.cc
  28. bzip_extent_writer.h
  29. bzip_extent_writer_unittest.cc
  30. certificate_checker.cc
  31. certificate_checker.h
  32. certificate_checker_unittest.cc
  33. chrome_browser_proxy_resolver.cc
  34. chrome_browser_proxy_resolver.h
  35. chrome_browser_proxy_resolver_unittest.cc
  36. clock.cc
  37. clock.h
  38. clock_interface.h
  39. connection_manager.cc
  40. connection_manager.h
  41. connection_manager_interface.h
  42. connection_manager_unittest.cc
  43. constants.cc
  44. constants.h
  45. daemon.cc
  46. daemon.h
  47. dbus_service.cc
  48. dbus_service.h
  49. dbus_service_unittest.cc
  50. dbus_test_utils.h
  51. delta_performer.cc
  52. delta_performer.h
  53. delta_performer_integration_test.cc
  54. delta_performer_unittest.cc
  55. download_action.cc
  56. download_action.h
  57. download_action_unittest.cc
  58. error_code.h
  59. extent_writer.cc
  60. extent_writer.h
  61. extent_writer_unittest.cc
  62. fake_boot_control.h
  63. fake_clock.h
  64. fake_extent_writer.h
  65. fake_file_writer.h
  66. fake_hardware.h
  67. fake_p2p_manager.h
  68. fake_p2p_manager_configuration.h
  69. fake_prefs.cc
  70. fake_prefs.h
  71. fake_shill_proxy.cc
  72. fake_shill_proxy.h
  73. fake_system_state.cc
  74. fake_system_state.h
  75. file_descriptor.cc
  76. file_descriptor.h
  77. file_writer.cc
  78. file_writer.h
  79. file_writer_unittest.cc
  80. filesystem_verifier_action.cc
  81. filesystem_verifier_action.h
  82. filesystem_verifier_action_unittest.cc
  83. generate_pc_file.sh
  84. hardware.h
  85. hardware_android.cc
  86. hardware_android.h
  87. hardware_chromeos.cc
  88. hardware_chromeos.h
  89. hardware_interface.h
  90. http_common.cc
  91. http_common.h
  92. http_fetcher.cc
  93. http_fetcher.h
  94. http_fetcher_unittest.cc
  95. hwid_override.cc
  96. hwid_override.h
  97. hwid_override_unittest.cc
  98. install_plan.cc
  99. install_plan.h
  100. libcros_proxy.cc
  101. libcros_proxy.h
  102. libcurl_http_fetcher.cc
  103. libcurl_http_fetcher.h
  104. libupdate_engine-client-test.pc.in
  105. libupdate_engine-client.pc.in
  106. local_coverage_rate
  107. main.cc
  108. metrics.cc
  109. metrics.h
  110. mock_action.h
  111. mock_action_processor.h
  112. mock_certificate_checker.h
  113. mock_connection_manager.h
  114. mock_file_writer.h
  115. mock_hardware.h
  116. mock_http_fetcher.cc
  117. mock_http_fetcher.h
  118. mock_omaha_request_params.h
  119. mock_p2p_manager.h
  120. mock_payload_state.h
  121. mock_prefs.h
  122. mock_update_attempter.h
  123. MODULE_LICENSE_APACHE2
  124. mtd_file_descriptor.cc
  125. mtd_file_descriptor.h
  126. multi_range_http_fetcher.cc
  127. multi_range_http_fetcher.h
  128. NOTICE
  129. omaha_hash_calculator.cc
  130. omaha_hash_calculator.h
  131. omaha_hash_calculator_unittest.cc
  132. omaha_request_action.cc
  133. omaha_request_action.h
  134. omaha_request_action_unittest.cc
  135. omaha_request_params.cc
  136. omaha_request_params.h
  137. omaha_request_params_unittest.cc
  138. omaha_response.h
  139. omaha_response_handler_action.cc
  140. omaha_response_handler_action.h
  141. omaha_response_handler_action_unittest.cc
  142. OWNERS
  143. p2p_manager.cc
  144. p2p_manager.h
  145. p2p_manager_unittest.cc
  146. payload_constants.cc
  147. payload_constants.h
  148. payload_state.cc
  149. payload_state.h
  150. payload_state_interface.h
  151. payload_state_unittest.cc
  152. payload_verifier.cc
  153. payload_verifier.h
  154. platform_constants.h
  155. platform_constants_android.cc
  156. platform_constants_chromeos.cc
  157. postinstall_runner_action.cc
  158. postinstall_runner_action.h
  159. postinstall_runner_action_unittest.cc
  160. prefs.cc
  161. prefs.h
  162. prefs_interface.h
  163. prefs_unittest.cc
  164. PRESUBMIT.cfg
  165. proxy_resolver.cc
  166. proxy_resolver.h
  167. real_system_state.cc
  168. real_system_state.h
  169. run_unittests
  170. sample_omaha_v3_response.xml
  171. shill_proxy.cc
  172. shill_proxy.h
  173. shill_proxy_interface.h
  174. subprocess.cc
  175. subprocess.h
  176. subprocess_unittest.cc
  177. system_state.h
  178. tar_bunzip2.gypi
  179. terminator.cc
  180. terminator.h
  181. terminator_unittest.cc
  182. test_http_server.cc
  183. test_utils.cc
  184. test_utils.h
  185. test_utils_unittest.cc
  186. testrunner.cc
  187. unittest_key.pem
  188. unittest_key2.pem
  189. update_attempter.cc
  190. update_attempter.h
  191. update_attempter_unittest.cc
  192. update_engine-client.gyp
  193. update_engine.conf
  194. update_engine.gyp
  195. update_engine.rc
  196. update_engine_client.cc
  197. update_metadata.proto
  198. update_status_utils.cc
  199. update_status_utils.h
  200. UpdateEngine.conf
  201. utils.cc
  202. utils.h
  203. utils_unittest.cc
  204. WATCHLISTS
  205. xz_extent_writer.cc
  206. xz_extent_writer.h
  207. xz_extent_writer_unittest.cc
  208. zip_unittest.cc