[lxc-devel] [lxc/master] cgroups: remove unused method and cleanup cgroup_exit()
brauner on Github
lxc-bot at linuxcontainers.org
Tue Feb 25 12:39:05 UTC 2020
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 364 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20200225/b0e37772/attachment.bin>
-------------- next part --------------
From c3f5890cfee19b265c278c26e5d5b1fc7137352a Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
Date: Tue, 25 Feb 2020 13:36:51 +0100
Subject: [PATCH] cgroups: remove unused method and cleanup cgroup_exit()
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
---
src/lxc/cgroups/cgfsng.c | 52 ----------------------------------------
src/lxc/cgroups/cgroup.c | 13 ++++------
src/lxc/cgroups/cgroup.h | 1 -
3 files changed, 4 insertions(+), 62 deletions(-)
diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c
index 3e5345b62d..aa054a63d3 100644
--- a/src/lxc/cgroups/cgfsng.c
+++ b/src/lxc/cgroups/cgfsng.c
@@ -1833,57 +1833,6 @@ __cgfsng_ops static bool cgfsng_mount(struct cgroup_ops *ops,
return retval;
}
-static int recursive_count_nrtasks(char *dirname)
-{
- __do_free char *path = NULL;
- __do_closedir DIR *dir = NULL;
- struct dirent *direntp;
- int count = 0, ret;
-
- dir = opendir(dirname);
- if (!dir)
- return 0;
-
- while ((direntp = readdir(dir))) {
- struct stat mystat;
-
- if (!strcmp(direntp->d_name, ".") ||
- !strcmp(direntp->d_name, ".."))
- continue;
-
- path = must_make_path(dirname, direntp->d_name, NULL);
-
- if (lstat(path, &mystat))
- continue;
-
- if (!S_ISDIR(mystat.st_mode))
- continue;
-
- count += recursive_count_nrtasks(path);
- }
-
- path = must_make_path(dirname, "cgroup.procs", NULL);
- ret = lxc_count_file_lines(path);
- if (ret != -1)
- count += ret;
-
- return count;
-}
-
-__cgfsng_ops static int cgfsng_nrtasks(struct cgroup_ops *ops)
-{
- __do_free char *path = NULL;
-
- if (!ops)
- return ret_set_errno(-1, ENOENT);
-
- if (!ops->container_cgroup || !ops->hierarchies)
- return ret_set_errno(-1, EINVAL);
-
- path = must_make_path(ops->hierarchies[0]->container_full_path, NULL);
- return recursive_count_nrtasks(path);
-}
-
/* Only root needs to escape to the cgroup of its init. */
__cgfsng_ops static bool cgfsng_escape(const struct cgroup_ops *ops,
struct lxc_conf *conf)
@@ -3279,7 +3228,6 @@ struct cgroup_ops *cgfsng_ops_init(struct lxc_conf *conf)
cgfsng_ops->attach = cgfsng_attach;
cgfsng_ops->chown = cgfsng_chown;
cgfsng_ops->mount = cgfsng_mount;
- cgfsng_ops->nrtasks = cgfsng_nrtasks;
cgfsng_ops->devices_activate = cgfsng_devices_activate;
return move_ptr(cgfsng_ops);
diff --git a/src/lxc/cgroups/cgroup.c b/src/lxc/cgroups/cgroup.c
index 2e9670e3b1..37fd0e377d 100644
--- a/src/lxc/cgroups/cgroup.c
+++ b/src/lxc/cgroups/cgroup.c
@@ -53,13 +53,10 @@ struct cgroup_ops *cgroup_init(struct lxc_conf *conf)
void cgroup_exit(struct cgroup_ops *ops)
{
- char **cur;
- struct hierarchy **it;
-
if (!ops)
return;
- for (cur = ops->cgroup_use; cur && *cur; cur++)
+ for (char **cur = ops->cgroup_use; cur && *cur; cur++)
free(*cur);
free(ops->cgroup_pattern);
@@ -69,14 +66,12 @@ void cgroup_exit(struct cgroup_ops *ops)
if (ops->cgroup2_devices)
bpf_program_free(ops->cgroup2_devices);
- for (it = ops->hierarchies; it && *it; it++) {
- char **p;
-
- for (p = (*it)->controllers; p && *p; p++)
+ for (struct hierarchy **it = ops->hierarchies; it && *it; it++) {
+ for (char **p = (*it)->controllers; p && *p; p++)
free(*p);
free((*it)->controllers);
- for (p = (*it)->cgroup2_chown; p && *p; p++)
+ for (char **p = (*it)->cgroup2_chown; p && *p; p++)
free(*p);
free((*it)->cgroup2_chown);
diff --git a/src/lxc/cgroups/cgroup.h b/src/lxc/cgroups/cgroup.h
index 46644c8445..32692fd711 100644
--- a/src/lxc/cgroups/cgroup.h
+++ b/src/lxc/cgroups/cgroup.h
@@ -161,7 +161,6 @@ struct cgroup_ops {
const char *lxcpath, pid_t pid);
bool (*mount)(struct cgroup_ops *ops, struct lxc_handler *handler,
const char *root, int type);
- int (*nrtasks)(struct cgroup_ops *ops);
bool (*devices_activate)(struct cgroup_ops *ops,
struct lxc_handler *handler);
bool (*monitor_delegate_controllers)(struct cgroup_ops *ops);
More information about the lxc-devel
mailing list