chiark / gitweb /
tmpfiles: skip mknod() on -EPERM (device cgroup)
[elogind.git] / src / tmpfiles / tmpfiles.c
index f515fe8c0cc0c717c4710ec9579746b50afd2fd2..df52085ff4f7aa49eee3304f70a0ef3bf730c5cb 100644 (file)
@@ -792,9 +792,17 @@ static int create_item(Item *i) {
                         label_context_clear();
                 }
 
-                if (r < 0 && errno != EEXIST) {
-                        log_error("Failed to create device node %s: %m", i->path);
-                        return -errno;
+                if (r < 0) {
+                        if (errno == EPERM) {
+                                log_debug("We lack permissions, possibly because of cgroup configuration; "
+                                          "skipping creation of device node %s.", i->path);
+                                return 0;
+                        }
+
+                        if (errno != EEXIST) {
+                                log_error("Failed to create device node %s: %m", i->path);
+                                return -errno;
+                        }
                 }
 
                 if (stat(i->path, &st) < 0) {