]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
cgroups/cgfsng: rework cgfsng_{monitor,payload}_delegate_controllers()
authorChristian Brauner <christian.brauner@ubuntu.com>
Sat, 7 Dec 2019 17:17:48 +0000 (18:17 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Sun, 8 Dec 2019 01:35:53 +0000 (02:35 +0100)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/cgroups/cgfsng.c

index 374bbcf5ae9445f8b00c4a62732886f5a743afb6..b73da7dcc5a1a426dd85360e1f235e3cefe609fd 100644 (file)
@@ -2838,10 +2838,10 @@ bool __cgfsng_delegate_controllers(struct cgroup_ops *ops, const char *cgroup)
                        base_path = must_append_path(base_path, parts[i], NULL);
                target = must_make_path(base_path, "cgroup.subtree_control", NULL);
                ret = lxc_writeat(-1, target, add_controllers, full_len);
-               if (ret < 0) {
-                       SYSERROR("Could not enable \"%s\" controllers in the unified cgroup \"%s\"", add_controllers, target);
-                       goto on_error;
-               }
+               if (ret < 0)
+                       log_error_errno(goto on_error,
+                                       errno, "Could not enable \"%s\" controllers in the unified cgroup \"%s\"",
+                                       add_controllers, target);
                TRACE("Enable \"%s\" controllers in the unified cgroup \"%s\"", add_controllers, target);
        }
 
@@ -2854,11 +2854,17 @@ on_error:
 
 __cgfsng_ops bool cgfsng_monitor_delegate_controllers(struct cgroup_ops *ops)
 {
+       if (!ops)
+               return ret_set_errno(false, ENOENT);
+
        return __cgfsng_delegate_controllers(ops, ops->monitor_cgroup);
 }
 
 __cgfsng_ops bool cgfsng_payload_delegate_controllers(struct cgroup_ops *ops)
 {
+       if (!ops)
+               return ret_set_errno(false, ENOENT);
+
        return __cgfsng_delegate_controllers(ops, ops->container_cgroup);
 }