From: Christian Brauner Date: Wed, 23 Aug 2017 23:32:32 +0000 (+0200) Subject: cgroups: non-functional changes X-Git-Tag: lxc-2.0.9~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1860a007969552fbd3afdc1b18927639492e82a6;p=thirdparty%2Flxc.git cgroups: non-functional changes Signed-off-by: Christian Brauner --- diff --git a/src/lxc/cgroups/cgroup.c b/src/lxc/cgroups/cgroup.c index 78472d4fc..085953342 100644 --- a/src/lxc/cgroups/cgroup.c +++ b/src/lxc/cgroups/cgroup.c @@ -37,8 +37,7 @@ extern struct cgroup_ops *cgfs_ops_init(void); extern struct cgroup_ops *cgfsng_ops_init(void); extern struct cgroup_ops *cgm_ops_init(void); -__attribute__((constructor)) -void cgroup_ops_init(void) +__attribute__((constructor)) void cgroup_ops_init(void) { if (ops) { INFO("cgroup driver %s", ops->name); @@ -46,9 +45,9 @@ void cgroup_ops_init(void) } DEBUG("cgroup_init"); - #if HAVE_CGMANAGER +#if HAVE_CGMANAGER ops = cgm_ops_init(); - #endif +#endif if (!ops) ops = cgfsng_ops_init(); if (!ops) @@ -60,7 +59,7 @@ void cgroup_ops_init(void) bool cgroup_init(struct lxc_handler *handler) { if (handler->cgroup_data) { - ERROR("cgroup_init called on already inited handler"); + ERROR("cgroup_init called on already initialized handler"); return true; } @@ -68,6 +67,7 @@ bool cgroup_init(struct lxc_handler *handler) INFO("cgroup driver %s initing for %s", ops->name, handler->name); handler->cgroup_data = ops->init(handler->name); } + return handler->cgroup_data != NULL; } @@ -79,22 +79,21 @@ void cgroup_destroy(struct lxc_handler *handler) } } -/* Create the container cgroups for all requested controllers */ +/* Create the container cgroups for all requested controllers. */ bool cgroup_create(struct lxc_handler *handler) { if (ops) return ops->create(handler->cgroup_data); + return false; } -/* - * Enter the container init into its new cgroups for all - * requested controllers - */ +/* Enter the container init into its new cgroups for all requested controllers. */ bool cgroup_enter(struct lxc_handler *handler) { if (ops) return ops->enter(handler->cgroup_data, handler->pid); + return false; } @@ -102,13 +101,16 @@ bool cgroup_create_legacy(struct lxc_handler *handler) { if (ops && ops->create_legacy) return ops->create_legacy(handler->cgroup_data, handler->pid); + return true; } -const char *cgroup_get_cgroup(struct lxc_handler *handler, const char *subsystem) +const char *cgroup_get_cgroup(struct lxc_handler *handler, + const char *subsystem) { if (ops) return ops->get_cgroup(handler->cgroup_data, subsystem); + return NULL; } @@ -116,6 +118,7 @@ bool cgroup_escape(struct lxc_handler *handler) { if (ops) return ops->escape(handler->cgroup_data); + return false; } @@ -139,6 +142,7 @@ bool cgroup_unfreeze(struct lxc_handler *handler) { if (ops) return ops->unfreeze(handler->cgroup_data); + return false; } @@ -147,6 +151,7 @@ bool cgroup_setup_limits(struct lxc_handler *handler, bool with_devices) if (ops) return ops->setup_limits(handler->cgroup_data, &handler->conf->cgroup, with_devices); + return false; } @@ -154,14 +159,15 @@ bool cgroup_chown(struct lxc_handler *handler) { if (ops && ops->chown) return ops->chown(handler->cgroup_data, handler->conf); + return true; } bool cgroup_mount(const char *root, struct lxc_handler *handler, int type) { - if (ops) { + if (ops) return ops->mount_cgroup(handler->cgroup_data, root, type); - } + return false; } @@ -171,8 +177,9 @@ int cgroup_nrtasks(struct lxc_handler *handler) if (ops->nrtasks) return ops->nrtasks(handler->cgroup_data); else - WARN("CGROUP driver %s doesn't implement nrtasks", ops->name); + WARN("cgroup driver \"%s\" doesn't implement nrtasks", ops->name); } + return -1; } @@ -180,25 +187,29 @@ bool cgroup_attach(const char *name, const char *lxcpath, pid_t pid) { if (ops) return ops->attach(name, lxcpath, pid); + return false; } -int lxc_cgroup_set(const char *filename, const char *value, const char *name, const char *lxcpath) +int lxc_cgroup_set(const char *filename, const char *value, const char *name, + const char *lxcpath) { if (ops) return ops->set(filename, value, name, lxcpath); + return -1; } -int lxc_cgroup_get(const char *filename, char *value, size_t len, const char *name, const char *lxcpath) +int lxc_cgroup_get(const char *filename, char *value, size_t len, + const char *name, const char *lxcpath) { if (ops) return ops->get(filename, value, len, name, lxcpath); + return -1; } -void cgroup_disconnect(void) -{ +void cgroup_disconnect(void) { if (ops && ops->disconnect) ops->disconnect(); } @@ -219,30 +230,32 @@ void prune_init_scope(char *cg) point = cg + strlen(cg) - strlen(INIT_SCOPE); if (point < cg) return; + if (strcmp(point, INIT_SCOPE) == 0) { if (point == cg) - *(point+1) = '\0'; + *(point + 1) = '\0'; else *point = '\0'; } } -/* - * Return true if this is a subsystem which we cannot do - * without. +/* Return true if this is a subsystem which we cannot do without. * - * systemd is questionable here. The way callers currently - * use this, if systemd is not mounted then it will be ignored. - * But if systemd is mounted, then it must be setup so that lxc - * can create cgroups in it, else containers will fail. + * systemd is questionable here. The way callers currently use this, if systemd + * is not mounted then it will be ignored. But if systemd is mounted, then it + * must be setup so that lxc can create cgroups in it, else containers will + * fail. */ bool is_crucial_cgroup_subsystem(const char *s) { if (strcmp(s, "systemd") == 0) return true; + if (strcmp(s, "name=systemd") == 0) return true; + if (strcmp(s, "freezer") == 0) return true; + return false; }