diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-04-10 17:42:00 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-04-10 18:00:33 +0200 |
commit | dad08730c43807c5b9f9aa3f164c31997e66eea3 (patch) | |
tree | a2fa0a12d88bb1918e76a96a6bfc64a609992213 | |
parent | 42856c1093c1644d31b83d7a131bfe4b061c5e4d (diff) |
mount-setup: introduce mount_point_is_api() call
-rw-r--r-- | mount-setup.c | 20 | ||||
-rw-r--r-- | mount-setup.h | 4 |
2 files changed, 20 insertions, 4 deletions
diff --git a/mount-setup.c b/mount-setup.c index f3041941ac..8cb77669f3 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 df768de94f..bb13e0184e 100644 --- a/mount-setup.h +++ b/mount-setup.h @@ -22,6 +22,10 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ +#include <stdbool.h> + int mount_setup(void); +bool mount_point_is_api(const char *path); + #endif |