mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-01-11 22:33:36 +00:00
Don't use dummy directory; directly use tmpfs
This commit is contained in:
parent
6ce37b44db
commit
83af0497e4
@ -276,14 +276,13 @@ static void clone_skeleton(struct node_entry *node) {
|
|||||||
}
|
}
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
|
|
||||||
snprintf(buf, PATH_MAX, "%s%s", DUMMDIR, full_path);
|
if (node->status & IS_SKEL) {
|
||||||
mkdir_p(buf, 0755);
|
LOGI("tmpfs: %s\n", full_path);
|
||||||
clone_attr(full_path, buf);
|
mount("tmpfs", full_path, "tmpfs", 0, NULL);
|
||||||
if (node->status & IS_SKEL)
|
}
|
||||||
bind_mount(buf, full_path);
|
|
||||||
|
|
||||||
vec_for_each(node->children, child) {
|
vec_for_each(node->children, child) {
|
||||||
snprintf(buf, PATH_MAX, "%s%s/%s", DUMMDIR, full_path, child->name);
|
snprintf(buf, PATH_MAX, "%s/%s", full_path, child->name);
|
||||||
|
|
||||||
// Create the dummy file/directory
|
// Create the dummy file/directory
|
||||||
if (IS_DIR(child))
|
if (IS_DIR(child))
|
||||||
@ -303,7 +302,7 @@ static void clone_skeleton(struct node_entry *node) {
|
|||||||
// Mount from module file to dummy file
|
// Mount from module file to dummy file
|
||||||
snprintf(buf2, PATH_MAX, "%s/%s%s/%s", MOUNTPOINT, child->module, full_path, child->name);
|
snprintf(buf2, PATH_MAX, "%s/%s%s/%s", MOUNTPOINT, child->module, full_path, child->name);
|
||||||
} else if (child->status & (IS_SKEL | IS_INTER)) {
|
} else if (child->status & (IS_SKEL | IS_INTER)) {
|
||||||
// It's a intermediate folder, recursive clone
|
// It's an intermediate folder, recursive clone
|
||||||
clone_skeleton(child);
|
clone_skeleton(child);
|
||||||
continue;
|
continue;
|
||||||
} else if (child->status & IS_DUMMY) {
|
} else if (child->status & IS_DUMMY) {
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#define MANAGERAPK DATABIN "/magisk.apk"
|
#define MANAGERAPK DATABIN "/magisk.apk"
|
||||||
#define MAGISKTMP "/dev/magisk"
|
#define MAGISKTMP "/dev/magisk"
|
||||||
#define MIRRDIR MAGISKTMP "/mirror"
|
#define MIRRDIR MAGISKTMP "/mirror"
|
||||||
#define DUMMDIR MAGISKTMP "/dummy"
|
|
||||||
#define BBPATH MAGISKTMP "/bin"
|
#define BBPATH MAGISKTMP "/bin"
|
||||||
#define CACHEMOUNT "/cache/magisk_mount"
|
#define CACHEMOUNT "/cache/magisk_mount"
|
||||||
|
|
||||||
|
@ -137,9 +137,9 @@ static void hide_daemon(int pid) {
|
|||||||
vec_init(&mount_list);
|
vec_init(&mount_list);
|
||||||
file_to_vector(buffer, &mount_list);
|
file_to_vector(buffer, &mount_list);
|
||||||
|
|
||||||
// Unmount any loop mounts and dummy mounts
|
// Unmount any loop mounts
|
||||||
vec_for_each(&mount_list, line) {
|
vec_for_each(&mount_list, line) {
|
||||||
if (strstr(line, "/dev/block/loop") || strstr(line, DUMMDIR)) {
|
if (strstr(line, "/dev/block/loop")) {
|
||||||
sscanf(line, "%*s %4096s", buffer);
|
sscanf(line, "%*s %4096s", buffer);
|
||||||
lazy_unmount(buffer);
|
lazy_unmount(buffer);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user