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

Commit 90703b86 authored by Jaegeuk Kim's avatar Jaegeuk Kim
Browse files

Use the dm target for userdata



Framework or applications can try to find userdata dm target from "/proc/mounts"
which gives "/dev/block/mapper/userdata".

That causes breaking the assumption in all the places.

Bug: 311165039
Change-Id: I9ea1b4589cdd52021d9807f7240c2e4b6d6d05ef
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@google.com>
parent 8fbaaa33
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -828,7 +828,14 @@ static int __mount(const std::string& source, const std::string& target, const F
                  << ",type=" << entry.fs_type << ", gc_allowance=" << gc_allowance << "%)=" << ret
                  << "(" << save_errno << ")";
        }
        ret = mount(source.c_str(), target.c_str(), entry.fs_type.c_str(), mountflags,

        // Let's get the raw dm target, if it's a symlink, since some existing applications
        // rely on /proc/mounts to find the userdata's dm target path. Don't break that assumption.
        std::string real_source;
        if (!android::base::Realpath(source, &real_source)) {
            real_source = source;
        }
        ret = mount(real_source.c_str(), target.c_str(), entry.fs_type.c_str(), mountflags,
                    opts.c_str());
        save_errno = errno;
        if (try_f2fs_gc_allowance) gc_allowance += 10;