From fe2767219e22eda853cb1ad30c44c49afc1bed66 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Thu, 10 Aug 2023 00:07:35 +0200 Subject: user/fs: no longer inject MOUNT_ATs by default arguably the wrong choice from an usability standpoint, but the right choice from a performance standpoint. there's definitely a nicer way to do this --- src/user/lib/fs/misc.c | 11 ++--------- src/user/lib/include/camellia/fs/misc.h | 4 ++-- 2 files changed, 4 insertions(+), 11 deletions(-) (limited to 'src/user/lib') diff --git a/src/user/lib/fs/misc.c b/src/user/lib/fs/misc.c index 2a39e9a..a23f05f 100644 --- a/src/user/lib/fs/misc.c +++ b/src/user/lib/fs/misc.c @@ -154,20 +154,13 @@ hid_t ufs_wait(char *buf, size_t len, struct ufs_request *req) { return reqh; } -bool mount_at_pred(const char *path) { +bool mount_at(const char *path) { // TODO preprocess path - simplify & ensure trailing slash if (!fork2_n_mount(path)) { /* child -> go into the for body */ _klogf("%s: impl", path); - setproctitle("i'%s'", path); + setproctitle("%s", path); return true; } - - if (strcmp("/", path) && !fork2_n_mount("/")) { - _klogf("%s: dir", path); - setproctitle("d'%s'", path); - fs_dirinject(path); - exit(1); - } return false; /* continue after the for loop */ } diff --git a/src/user/lib/include/camellia/fs/misc.h b/src/user/lib/include/camellia/fs/misc.h index 92679e9..0b2a018 100644 --- a/src/user/lib/include/camellia/fs/misc.h +++ b/src/user/lib/include/camellia/fs/misc.h @@ -13,7 +13,7 @@ void fs_union(const char **list); void fs_dirinject(const char *path); void fs_dirinject2(const char *injects[]); -bool mount_at_pred(const char *path); +bool mount_at(const char *path); // TODO separate fs drivers and wrappers around syscalls @@ -21,4 +21,4 @@ bool mount_at_pred(const char *path); hid_t ufs_wait(char *buf, size_t len, struct ufs_request *req); /** Mounts something and injects its path into the fs */ -#define MOUNT_AT(path) for (; mount_at_pred(path); exit(1)) +#define MOUNT_AT(path) for (; mount_at(path); exit(1)) -- cgit v1.2.3