};
/* These are API file systems that might be mounted by other software,
- * we just list them here so that we know that we should igore them */
+ * we just list them here so that we know that we should ignore them */
static const char * const ignore_paths[] = {
"/selinux",
}
bool mount_point_ignore(const char *path) {
- unsigned i;
+ unsigned i;
for (i = 0; i < ELEMENTSOF(ignore_paths); i++)
if (path_equal(path, ignore_paths[i]))
for (;;) {
MountPoint p;
char *controller, *where;
+ int enabled = false;
- if (fscanf(f, "%ms %*i %*i %*i", &controller) != 1) {
+ if (fscanf(f, "%ms %*i %*i %i", &controller, &enabled) != 2) {
if (feof(f))
break;
goto finish;
}
+ if (!enabled) {
+ free(controller);
+ continue;
+ }
+
if (asprintf(&where, "/sys/fs/cgroup/%s", controller) < 0) {
free(controller);
r = -ENOMEM;
int mount_setup(void) {
- const char *symlinks =
+ const char symlinks[] =
"/proc/kcore\0" "/dev/core\0"
"/proc/self/fd\0" "/dev/fd\0"
"/proc/self/fd/0\0" "/dev/stdin\0"