From 11e2be3a194b9e98a485790ba1cf9223e92f6942 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 26 Jun 2023 12:52:22 +0200 Subject: [PATCH] mount-util: use inode_type_to_string() in mode_to_inaccessible_inode() Let's reuse the inode type name table here and shorten/simplify the code a bit. --- src/shared/mount-util.c | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/src/shared/mount-util.c b/src/shared/mount-util.c index 425840ffe91..030648ec1b7 100644 --- a/src/shared/mount-util.c +++ b/src/shared/mount-util.c @@ -567,42 +567,21 @@ int mode_to_inaccessible_node( * we operate in system context and $XDG_RUNTIME_DIR if we operate in user context. */ _cleanup_free_ char *d = NULL; - const char *node = NULL; + const char *node; assert(ret); if (!runtime_dir) runtime_dir = "/run"; - switch (mode & S_IFMT) { - case S_IFREG: - node = "/systemd/inaccessible/reg"; - break; - - case S_IFDIR: - node = "/systemd/inaccessible/dir"; - break; - - case S_IFCHR: - node = "/systemd/inaccessible/chr"; - break; - - case S_IFBLK: - node = "/systemd/inaccessible/blk"; - break; - - case S_IFIFO: - node = "/systemd/inaccessible/fifo"; - break; + if (S_ISLNK(mode)) + return -EINVAL; - case S_IFSOCK: - node = "/systemd/inaccessible/sock"; - break; - } + node = inode_type_to_string(mode); if (!node) return -EINVAL; - d = path_join(runtime_dir, node); + d = path_join(runtime_dir, "systemd/inaccessible", node); if (!d) return -ENOMEM; -- 2.47.3