summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mount-setup.c8
-rw-r--r--src/mount-setup.h1
-rw-r--r--src/mount.c2
-rw-r--r--src/umount.c2
4 files changed, 11 insertions, 2 deletions
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;
}