From: Lennart Poettering Date: Mon, 26 Jun 2023 10:52:22 +0000 (+0200) Subject: mount-util: use inode_type_to_string() in mode_to_inaccessible_inode() X-Git-Tag: v254-rc1~114 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=11e2be3a194b9e98a485790ba1cf9223e92f6942;p=thirdparty%2Fsystemd.git 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. --- 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;