Unmount vendor partition prior to switching slots

On some devices, having the vendor partition mounted
causes slot switching to fail ("Error getting bootctrl module")
Automatically unmount vendor partition prior to switching
slots to ensure the process completes successfully.

Use lazy unmount if Unmount_by_Path function fails.

TEST: Mount vendor partition, then switch slots.
      Vendor partition should be unmounted when
      switching completes
      
Change-Id: If6198d4693141be464749c4d423a9088753d939e
1 file changed
tree: d9c9794b547e90adc14f75eb1b204e34010717c6
  1. .github/
  2. adbbu/
  3. applypatch/
  4. attr/
  5. bmlutils/
  6. boot_control/
  7. bootloader_message/
  8. crypto/
  9. dosfstools/
  10. edify/
  11. etc/
  12. exfat/
  13. fastboot/
  14. fb2png/
  15. flashutils/
  16. fonts/
  17. fuse/
  18. fuse_sideload/
  19. gpt/
  20. gui/
  21. htcdumlock/
  22. injecttwrp/
  23. install/
  24. libblkid/
  25. libcrecovery/
  26. libmincrypt/
  27. libpixelflinger/
  28. libtar/
  29. minadbd/
  30. minadbd21/
  31. minui/
  32. minuitwrp/
  33. minzip/
  34. misc_writer/
  35. mmcutils/
  36. mtdutils/
  37. mtp/
  38. openaes/
  39. orscmd/
  40. otafault/
  41. otautil/
  42. ozip_decrypt/
  43. pigz/
  44. prebuilt/
  45. recovery_ui/
  46. res/
  47. res-hdpi/
  48. res-mdpi/
  49. res-xhdpi/
  50. res-xxhdpi/
  51. res-xxxhdpi/
  52. scripts/
  53. sepolicy/
  54. simg2img/
  55. tests/
  56. tools/
  57. twrpDigest/
  58. twrpTarMain/
  59. uncrypt/
  60. update_verifier/
  61. updater/
  62. updater_sample/
  63. verifier28/
  64. .clang-format
  65. .gitignore
  66. Android.bp
  67. Android.mk
  68. BasePartition.cpp
  69. bootloader.h
  70. CleanSpec.mk
  71. common.h
  72. data.cpp
  73. data.hpp
  74. exclude.cpp
  75. exclude.hpp
  76. find_file.cpp
  77. find_file.hpp
  78. fixContexts.cpp
  79. fixContexts.hpp
  80. fsck_unshare_blocks.cpp
  81. fsck_unshare_blocks.h
  82. fuse.h
  83. infomanager.cpp
  84. infomanager.hpp
  85. interlace-frames.py
  86. legacy_properties.h
  87. mounts.c
  88. NOTICE
  89. openrecoveryscript.cpp
  90. openrecoveryscript.hpp
  91. OWNERS
  92. partition.cpp
  93. partitionmanager.cpp
  94. partitions.hpp
  95. PREUPLOAD.cfg
  96. progresstracking.cpp
  97. progresstracking.hpp
  98. README.md
  99. recovery-persist.cpp
  100. recovery-persist.rc
  101. recovery-refresh.cpp
  102. recovery-refresh.rc
  103. recovery.cpp
  104. recovery.h
  105. recovery_main.cpp
  106. recovery_ui.h
  107. startupArgs.cpp
  108. startupArgs.hpp
  109. tarWrite.c
  110. tarWrite.h
  111. twcommon.h
  112. twinstall.cpp
  113. twinstall.h
  114. twinstallorig.h
  115. twrp-functions.cpp
  116. twrp-functions.hpp
  117. twrp.cpp
  118. twrpAdbBuFifo.cpp
  119. twrpAdbBuFifo.hpp
  120. twrpApex.cpp
  121. twrpApex.hpp
  122. twrpDigestDriver.cpp
  123. twrpDigestDriver.hpp
  124. twrpRepacker.cpp
  125. twrpRepacker.hpp
  126. twrpTar.cpp
  127. twrpTar.h
  128. twrpTar.hpp
  129. variables.h