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

Commit 91fcce2b authored by Mark Salyzyn's avatar Mark Salyzyn Committed by android-build-merger
Browse files

Merge "init: IsDmLinearEnabled() replace with check if logical partitions present in fstab"

am: 8bd7d523

Change-Id: I833d28cbf015fcc67b586d0983af53eb0ae95c0e
parents edbfb50d 8bd7d523
Loading
Loading
Loading
Loading
+8 −16
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ class FirstStageMount {
    bool CreateLogicalPartitions();
    bool MountPartition(fstab_rec* fstab_rec);
    bool MountPartitions();
    bool IsDmLinearEnabled();
    bool GetBackingDmLinearDevices();

    virtual ListenerAction UeventCallback(const Uevent& uevent);
@@ -134,22 +135,6 @@ static bool IsRecoveryMode() {
    return !ForceNormalBoot() && access("/system/bin/recovery", F_OK) == 0;
}

static inline bool IsDmLinearEnabled() {
    static bool checked = false;
    static bool enabled = false;
    if (checked) {
        return enabled;
    }
    import_kernel_cmdline(false,
                          [](const std::string& key, const std::string& value, bool in_qemu) {
                              if (key == "androidboot.logical_partitions" && value == "1") {
                                  enabled = true;
                              }
                          });
    checked = true;
    return enabled;
}

// Class Definitions
// -----------------
FirstStageMount::FirstStageMount()
@@ -198,6 +183,13 @@ bool FirstStageMount::InitDevices() {
    return GetBackingDmLinearDevices() && GetDmVerityDevices() && InitRequiredDevices();
}

bool FirstStageMount::IsDmLinearEnabled() {
    for (auto fstab_rec : mount_fstab_recs_) {
        if (fs_mgr_is_logical(fstab_rec)) return true;
    }
    return false;
}

bool FirstStageMount::GetBackingDmLinearDevices() {
    // Add any additional devices required for dm-linear mappings.
    if (!IsDmLinearEnabled()) {