From: Christian Brauner Date: Tue, 2 Feb 2021 17:03:41 +0000 (+0100) Subject: lxccontainer: use cgroup_set() X-Git-Tag: lxc-5.0.0~305^2~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69edb51d0792329df14c0aaac0466409061b0c9b;p=thirdparty%2Flxc.git lxccontainer: use cgroup_set() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index ccb4c5c58..c8e2b78ff 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -3277,6 +3277,7 @@ WRAP_API_1(bool, lxcapi_set_config_path, const char *) static bool do_lxcapi_set_cgroup_item(struct lxc_container *c, const char *subsys, const char *value) { call_cleaner(cgroup_exit) struct cgroup_ops *cgroup_ops = NULL; + int ret; if (!c) return false; @@ -3284,12 +3285,16 @@ static bool do_lxcapi_set_cgroup_item(struct lxc_container *c, const char *subsy if (is_stopped(c)) return false; - cgroup_ops = cgroup_init(c->lxc_conf); - if (!cgroup_ops) - return false; + ret = cgroup_set(c->lxc_conf, c->name, c->config_path, subsys, value); + if (ret == ENOCGROUP2) { + cgroup_ops = cgroup_init(c->lxc_conf); + if (!cgroup_ops) + return false; + + ret = cgroup_ops->set(cgroup_ops, subsys, value, c->name, c->config_path) == 0; + } - return cgroup_ops->set(cgroup_ops, subsys, value, c->name, - c->config_path) == 0; + return ret == 0; } WRAP_API_2(bool, lxcapi_set_cgroup_item, const char *, const char *)