fsync after block device writes

When markBoolSuccessful is invoked, we update
the partition table. These writes should be
synced before merge operation is resumed post OTA.
If not, any crash before these writes are landed to
backing storage will lead to incorrect switching of
slots.

BUG: 175711601
Test: Verify slot switching correctly after crash when merge in progress
(on redbull)
Signed-off-by: Akilesh Kailash <akailash@google.com>
Change-Id: I4d30342b44aaeb7a4fdc915cc1e53ffb20c17a2f
1 file changed
tree: 3ef5b7f09e34525d40a76904c65fec5eecbedce5
  1. audio/
  2. bootctrl/
  3. dumpstate/
  4. factory-images/
  5. gpt-utils/
  6. health/
  7. json-c/
  8. keymaster/
  9. nfc/
  10. overlay/
  11. overlay_packages/
  12. pixelstats/
  13. power/
  14. powerstats/
  15. rro_overlays/
  16. seccomp_policy/
  17. self-extractors/
  18. sunfish/
  19. thermal-engine/
  20. usb/
  21. vibrator/
  22. voice_processing/
  23. .clang-format
  24. Android.bp
  25. Android.mk
  26. AndroidProducts.mk
  27. aosp_sunfish.mk
  28. aosp_sunfish_hwasan.mk
  29. audio_policy_configuration.xml
  30. audio_policy_configuration_a2dp_offload_disabled.xml
  31. audio_policy_configuration_bluetooth_legacy_hal.xml
  32. audio_policy_volumes.xml
  33. bluetooth_hearing_aid_audio_policy_configuration.xml
  34. bluetooth_power_limits_sunfish.csv
  35. board-info.txt
  36. BoardConfig-common.mk
  37. CleanSpec.mk
  38. compatibility_matrix.xml
  39. component-overrides.xml
  40. config.fs
  41. default-permissions.xml
  42. device-common.mk
  43. device-sunfish.mk
  44. device.mk
  45. device_framework_matrix_product.xml
  46. fingerprint.mk
  47. fstab.hardware
  48. fstab.postinstall
  49. gps.conf
  50. init.fingerprint.sh
  51. init.hardware.chamber.rc.userdebug
  52. init.hardware.diag.rc.user
  53. init.hardware.diag.rc.userdebug
  54. init.hardware.ipa.rc.userdebug
  55. init.hardware.mpssrfs.rc.user
  56. init.hardware.mpssrfs.rc.userdebug
  57. init.hardware.power_debug.rc.userdebug
  58. init.hardware.rc
  59. init.hardware.usb.rc
  60. init.hardware.userdebug.rc.userdebug
  61. init.insmod.sunfish.cfg
  62. init.logging.rc
  63. init.mdm.sh
  64. init.msm.usb.configfs.rc
  65. init.power.rc
  66. init.qcom.modem_links.sh
  67. init.qcom.usb.rc
  68. init.qcom.usb.sh
  69. init.qti.getbootdevice.sh
  70. init.qti.qseecomd.sh
  71. init.radio.sh
  72. init.ramoops.sh
  73. init.recovery.device.rc
  74. init.sensors.sh
  75. manifest.xml
  76. media_codecs.xml
  77. media_codecs_omx.xml
  78. media_codecs_performance_c2.xml
  79. media_profiles.xml
  80. media_profiles_V1_0.xml
  81. p2p_supplicant_overlay.conf
  82. powerhint.json
  83. product.prop
  84. recovery.wipe
  85. sec_config
  86. sensors.hals.conf
  87. thermal-engine-sunfish.conf
  88. thermal_info_config_sunfish.json
  89. ueventd.rc
  90. uinput-fpc.idc
  91. uinput-fpc.kl
  92. utils.mk
  93. WCNSS_qcom_cfg.ini
  94. wifi_concurrency_cfg.txt
  95. wpa_supplicant_overlay.conf
  96. wpa_supplicant_wcn.conf