X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fmount-setup.c;h=6d37bbde3c8bf6cddf7da6dfead1b25f266e6682;hb=7e2668c6fd5720ae4d2d55eb8a062739687516af;hp=961773b1e9f4d44a1460fcf186bcc93a51ead821;hpb=5ba2dc259f3cdd8fddef68cfd28380a32534e49a;p=elogind.git diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c index 961773b1e..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; @@ -131,7 +142,7 @@ static int mount_one(const MountPoint *p, bool relabel) { p->type, p->flags, p->options) < 0) { - log_error("Failed to mount %s: %s", p->where, strerror(errno)); + log_full(p->fatal ? LOG_ERR : LOG_DEBUG, "Failed to mount %s: %s", p->where, strerror(errno)); return p->fatal ? -errno : 0; }