diff --git a/src/mount-setup.c b/src/mount-setup.c index 84a729ebf2..9eb2832c6e 100644 --- a/src/mount-setup.c +++ b/src/mount-setup.c @@ -74,11 +74,17 @@ bool mount_point_is_api(const char *path) { if (path_equal(path, mount_table[i].where)) return true; + return path_startswith(path, "/sys/fs/cgroup/"); +} + +bool mount_point_ignore(const char *path) { + unsigned i; + for (i = 0; i < ELEMENTSOF(ignore_paths); i++) if (path_equal(path, ignore_paths[i])) return true; - return path_startswith(path, "/sys/fs/cgroup/"); + return false; } static int mount_one(const MountPoint *p) { diff --git a/src/mount-setup.h b/src/mount-setup.h index 47d0e5bb12..150ec408d2 100644 --- a/src/mount-setup.h +++ b/src/mount-setup.h @@ -27,5 +27,6 @@ int mount_setup(void); bool mount_point_is_api(const char *path); +bool mount_point_ignore(const char *path); #endif diff --git a/src/mount.c b/src/mount.c index 5d4944abec..4094eef43d 100644 --- a/src/mount.c +++ b/src/mount.c @@ -1213,6 +1213,8 @@ static int mount_add_one( * dependencies ever. */ if (mount_point_is_api(where)) return 0; + if (mount_point_ignore(where)) + return 0; if (streq(fstype, "autofs")) return 0; diff --git a/src/umount.c b/src/umount.c index 0081d979d9..2ae8f86ecd 100644 --- a/src/umount.c +++ b/src/umount.c @@ -105,7 +105,7 @@ static int mount_points_list_get(MountPoint **head) { goto finish; } - if (mount_point_is_api(p)) { + if (mount_point_is_api(p) || mount_point_ignore(p)) { free(p); continue; }