From dad08730c43807c5b9f9aa3f164c31997e66eea3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 10 Apr 2010 17:42:00 +0200 Subject: [PATCH] mount-setup: introduce mount_point_is_api() call --- mount-setup.c | 20 ++++++++++++++++---- mount-setup.h | 4 ++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/mount-setup.c b/mount-setup.c index f3041941..8cb77669 100644 --- a/mount-setup.c +++ b/mount-setup.c @@ -48,9 +48,21 @@ static const char *table[] = { "devpts", "/dev/pts", "devpts", NULL, "cgroup", "/cgroup/debug", "cgroup", "debug", "debugfs", "/sys/kernel/debug", "debugfs", NULL, - NULL }; +bool mount_point_is_api(const char *path) { + unsigned i; + + /* Checks if this mount point is considered "API", and hence + * should be ignored */ + + for (i = 0; i < ELEMENTSOF(table); i += MOUNT_SKIP) + if (path_startswith(path, table[i+MOUNT_WHERE])) + return true; + + return false; +} + static int is_mount_point(const char *t) { struct stat a, b; char *copy; @@ -112,10 +124,10 @@ static int mount_one(const char *t[]) { int mount_setup(void) { int r; - const char **t; + unsigned i; - for (t = table; *t; t += MOUNT_SKIP) - if ((r = mount_one(t)) < 0) + for (i = 0; i < ELEMENTSOF(table); i += MOUNT_SKIP) + if ((r = mount_one(table + i)) < 0) return r; return 0; diff --git a/mount-setup.h b/mount-setup.h index df768de9..bb13e018 100644 --- a/mount-setup.h +++ b/mount-setup.h @@ -22,6 +22,10 @@ along with systemd; If not, see . ***/ +#include + int mount_setup(void); +bool mount_point_is_api(const char *path); + #endif -- 2.39.5