X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fmount-setup.c;h=6d37bbde3c8bf6cddf7da6dfead1b25f266e6682;hp=d902211ead787d179435f3e903e32ee427edfddd;hb=eaeb18dba95403b5f619d192c5a915546b5ace47;hpb=9efaf380a7c7fa16f44b1aa15b967e99f331203a diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c index d902211ea..6d37bbde3 100644 --- a/src/core/mount-setup.c +++ b/src/core/mount-setup.c @@ -72,11 +72,22 @@ static const MountPoint mount_table[] = { /* These are API file systems that might be mounted by other software, * we just list them here so that we know that we should ignore them */ -static const char * const ignore_paths[] = { - "/sys/fs/selinux", - "/selinux", - "/proc/bus/usb" -}; +static const char ignore_paths[] = + /* SELinux file systems */ + "/sys/fs/selinux\0" + "/selinux\0" + /* Legacy cgroup mount points */ + "/dev/cgroup\0" + "/cgroup\0" + /* Legacy kernel file system */ + "/proc/bus/usb\0" + /* Container bind mounts */ + "/proc/sys\0" + "/dev/console\0" + "/proc/kmsg\0" + "/etc/localtime\0" + "/etc/timezone\0" + "/etc/machine-id\0"; bool mount_point_is_api(const char *path) { unsigned i; @@ -92,10 +103,10 @@ bool mount_point_is_api(const char *path) { } bool mount_point_ignore(const char *path) { - unsigned i; + const char *i; - for (i = 0; i < ELEMENTSOF(ignore_paths); i++) - if (path_equal(path, ignore_paths[i])) + NULSTR_FOREACH(i, ignore_paths) + if (path_equal(path, i)) return true; return false;