Skip to content

Commit

Permalink
cgfsng: fail when limits fail to apply
Browse files Browse the repository at this point in the history
So far, we silently skipped over limits that failed to be applied which is very
odd. Let's error on when cgroup limits fail to apply.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
  • Loading branch information
Christian Brauner committed Sep 24, 2017
1 parent 204bdc0 commit bab07a2
Showing 1 changed file with 17 additions and 10 deletions.
27 changes: 17 additions & 10 deletions src/lxc/cgroups/cgfsng.c
Expand Up @@ -1913,21 +1913,28 @@ static int cgfsng_set(const char *filename, const char *value, const char *name,
*/
static int lxc_cgroup_set_data(const char *filename, const char *value, struct cgfsng_handler_data *d)
{
char *subsystem = NULL, *p;
int ret = -1;
char *fullpath, *p;
struct hierarchy *h;
int ret = 0;
char *controller = NULL;

subsystem = alloca(strlen(filename) + 1);
strcpy(subsystem, filename);
if ((p = strchr(subsystem, '.')) != NULL)
controller = alloca(strlen(filename) + 1);
strcpy(controller, filename);
if ((p = strchr(controller, '.')) != NULL)
*p = '\0';

h = get_hierarchy(subsystem);
if (h) {
char *fullpath = must_make_path(h->fullcgpath, filename, NULL);
ret = lxc_write_to_file(fullpath, value, strlen(value), false);
free(fullpath);
h = get_hierarchy(controller);
if (!h) {
ERROR("Failed to setup limits for the \"%s\" controller. "
"The controller seems to be unused by \"cgfsng\" cgroup "
"driver or not enabled on the cgroup hierarchy",
controller);
return -1;
}

fullpath = must_make_path(h->fullcgpath, filename, NULL);
ret = lxc_write_to_file(fullpath, value, strlen(value), false);
free(fullpath);
return ret;
}

Expand Down

0 comments on commit bab07a2

Please sign in to comment.