Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d8f0ae2 authored by Mark Salyzyn's avatar Mark Salyzyn Committed by android-build-merger
Browse files

Merge "fs_mgr: Add fs_mgr_overlayfs_is_setup()"

am: 323ca1ea

Change-Id: I8f756ea482094f536d1f512e0fc9c25da3465927
parents c5413c2d 323ca1ea
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -89,6 +89,12 @@ Caveats
  if higher than 4.6.
  if higher than 4.6.
- *adb enable-verity* will free up overlayfs and as a bonus the
- *adb enable-verity* will free up overlayfs and as a bonus the
  device will be reverted pristine to before any content was updated.
  device will be reverted pristine to before any content was updated.
  Update engine does not take advantage of this, will perform a full OTA.
- Update engine will not run if *fs_mgr_overlayfs_is_setup*() reports
  true as adb remount overrides are incompatable with an OTA for
  multiple reasons.
  NB: This is not a problem for fastbootd or recovery as overrides are
  disabled for those special boot scenarios.
- If dynamic partitions runs out of space, resizing a logical
- If dynamic partitions runs out of space, resizing a logical
  partition larger may fail because of the scratch partition.
  partition larger may fail because of the scratch partition.
  If this happens, either fastboot flashall or adb enable-verity can
  If this happens, either fastboot flashall or adb enable-verity can
+15 −0
Original line number Original line Diff line number Diff line
@@ -96,6 +96,10 @@ bool fs_mgr_overlayfs_teardown(const char*, bool* change) {
    return false;
    return false;
}
}


bool fs_mgr_overlayfs_is_setup() {
    return false;
}

#else  // ALLOW_ADBD_DISABLE_VERITY == 0
#else  // ALLOW_ADBD_DISABLE_VERITY == 0


namespace {
namespace {
@@ -923,6 +927,17 @@ bool fs_mgr_overlayfs_teardown(const char* mount_point, bool* change) {
    return ret;
    return ret;
}
}


bool fs_mgr_overlayfs_is_setup() {
    if (fs_mgr_overlayfs_already_mounted(kScratchMountPoint, false)) return true;
    std::unique_ptr<fstab, decltype(&fs_mgr_free_fstab)> fstab(fs_mgr_read_fstab_default(),
                                                               fs_mgr_free_fstab);
    if (fs_mgr_overlayfs_invalid(fstab.get())) return false;
    for (const auto& mount_point : fs_mgr_candidate_list(fstab.get())) {
        if (fs_mgr_overlayfs_already_mounted(mount_point)) return true;
    }
    return false;
}

#endif  // ALLOW_ADBD_DISABLE_VERITY != 0
#endif  // ALLOW_ADBD_DISABLE_VERITY != 0


bool fs_mgr_has_shared_blocks(const std::string& mount_point, const std::string& dev) {
bool fs_mgr_has_shared_blocks(const std::string& mount_point, const std::string& dev) {
+1 −0
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ std::vector<std::string> fs_mgr_overlayfs_required_devices(const std::vector<fst
bool fs_mgr_overlayfs_setup(const char* backing = nullptr, const char* mount_point = nullptr,
bool fs_mgr_overlayfs_setup(const char* backing = nullptr, const char* mount_point = nullptr,
                            bool* change = nullptr);
                            bool* change = nullptr);
bool fs_mgr_overlayfs_teardown(const char* mount_point = nullptr, bool* change = nullptr);
bool fs_mgr_overlayfs_teardown(const char* mount_point = nullptr, bool* change = nullptr);
bool fs_mgr_overlayfs_is_setup();
bool fs_mgr_has_shared_blocks(const std::string& mount_point, const std::string& dev);
bool fs_mgr_has_shared_blocks(const std::string& mount_point, const std::string& dev);
std::string fs_mgr_get_context(const std::string& mount_point);
std::string fs_mgr_get_context(const std::string& mount_point);