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

Commit f9c8dce0 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "fs_mgr: Copy the blk_device from start_idx to current index" am: 3eb67e88

parents 2aa2e7f9 3eb67e88
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -889,7 +889,7 @@ static bool fs_match(const std::string& in1, const std::string& in2) {
// attempted_idx: On return, will indicate which fstab entry
//     succeeded. In case of failure, it will be the start_idx.
// Sets errno to match the 1st mount failure on failure.
static bool mount_with_alternatives(const Fstab& fstab, int start_idx, int* end_idx,
static bool mount_with_alternatives(Fstab& fstab, int start_idx, int* end_idx,
                                    int* attempted_idx) {
    unsigned long i;
    int mount_errno = 0;
@@ -909,6 +909,14 @@ static bool mount_with_alternatives(const Fstab& fstab, int start_idx, int* end_
            continue;
        }

        // fstab[start_idx].blk_device is already updated to /dev/dm-<N> by
        // AVB related functions. Copy it from start_idx to the current index i.
        if ((i != start_idx) && fstab[i].fs_mgr_flags.logical &&
            fstab[start_idx].fs_mgr_flags.logical &&
            (fstab[i].logical_partition_name == fstab[start_idx].logical_partition_name)) {
            fstab[i].blk_device = fstab[start_idx].blk_device;
        }

        int fs_stat = prepare_fs_for_mount(fstab[i].blk_device, fstab[i]);
        if (fs_stat & FS_STAT_INVALID_MAGIC) {
            LERROR << __FUNCTION__