From: Christian Brauner Date: Tue, 2 Feb 2021 16:00:49 +0000 (+0100) Subject: lxccontainer: use cgroup_get() X-Git-Tag: lxc-5.0.0~305^2~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a29cc280c7169ddf234ea620df8c3ba687945f61;p=thirdparty%2Flxc.git lxccontainer: use cgroup_get() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index da18be8aa..eb29beb43 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -3296,6 +3296,8 @@ WRAP_API_2(bool, lxcapi_set_cgroup_item, const char *, const char *) static int do_lxcapi_get_cgroup_item(struct lxc_container *c, const char *subsys, char *retv, int inlen) { + int ret; + call_cleaner(cgroup_exit) struct cgroup_ops *cgroup_ops = NULL; if (!c) @@ -3304,12 +3306,16 @@ static int do_lxcapi_get_cgroup_item(struct lxc_container *c, const char *subsys if (is_stopped(c)) return -1; - cgroup_ops = cgroup_init(c->lxc_conf); - if (!cgroup_ops) - return -1; + ret = cgroup_get(c->lxc_conf, subsys, retv, inlen, c->name, c->config_path); + if (ret == ENOCGROUP2) { + cgroup_ops = cgroup_init(c->lxc_conf); + if (!cgroup_ops) + return -1; + + return cgroup_ops->get(cgroup_ops, subsys, retv, inlen, c->name, c->config_path); + } - return cgroup_ops->get(cgroup_ops, subsys, retv, inlen, c->name, - c->config_path); + return ret; } WRAP_API_3(int, lxcapi_get_cgroup_item, const char *, char *, int)