cgroup-util: drop unused cg_rmdir()

When removing a cgroup, we always want to eliminate subcgroups
first, i.e. use cg_trim(). And cg_rmdir() (along with
CGROUP_REMOVE flag) is simply unused. Kill it.
This commit is contained in:
Mike Yuan
2024-08-02 16:36:08 +02:00
parent 1daf575990
commit 031860d6cb
4 changed files with 3 additions and 48 deletions
-31
View File
@@ -291,31 +291,6 @@ int cg_read_subgroup(DIR *d, char **ret) {
return 0;
}
int cg_rmdir(const char *controller, const char *path) {
_cleanup_free_ char *p = NULL;
int r;
r = cg_get_path(controller, path, NULL, &p);
if (r < 0)
return r;
r = rmdir(p);
if (r < 0 && errno != ENOENT)
return -errno;
r = cg_hybrid_unified();
if (r <= 0)
return r;
if (streq(controller, SYSTEMD_CGROUP_CONTROLLER)) {
r = cg_rmdir(SYSTEMD_CGROUP_CONTROLLER_LEGACY, path);
if (r < 0)
log_warning_errno(r, "Failed to remove compat systemd cgroup %s: %m", path);
}
return 0;
}
static int cg_kill_items(
const char *path,
int sig,
@@ -532,12 +507,6 @@ int cg_kill_recursive(
}
}
if (FLAGS_SET(flags, CGROUP_REMOVE)) {
r = cg_rmdir(SYSTEMD_CGROUP_CONTROLLER, path);
if (!IN_SET(r, -ENOENT, -EBUSY))
RET_GATHER(ret, log_debug_errno(r, "Failed to remove cgroup '%s': %m", path));
}
return ret;
}
+2 -5
View File
@@ -186,9 +186,8 @@ int cg_cgroupid_open(int fsfd, uint64_t id);
typedef enum CGroupFlags {
CGROUP_SIGCONT = 1 << 0,
CGROUP_IGNORE_SELF = 1 << 1,
CGROUP_REMOVE = 1 << 2,
CGROUP_DONT_SKIP_UNMAPPED = 1 << 3,
CGROUP_NO_PIDFD = 1 << 4,
CGROUP_DONT_SKIP_UNMAPPED = 1 << 2,
CGROUP_NO_PIDFD = 1 << 3,
} CGroupFlags;
int cg_enumerate_processes(const char *controller, const char *path, FILE **ret);
@@ -214,8 +213,6 @@ int cg_get_path_and_check(const char *controller, const char *path, const char *
int cg_pid_get_path(const char *controller, pid_t pid, char **ret);
int cg_pidref_get_path(const char *controller, const PidRef *pidref, char **ret);
int cg_rmdir(const char *controller, const char *path);
int cg_is_threaded(const char *path);
int cg_is_delegated(const char *path);
-6
View File
@@ -917,12 +917,6 @@ int cg_migrate_recursive(
if (r < 0 && ret >= 0)
ret = r;
if (flags & CGROUP_REMOVE) {
r = cg_rmdir(cfrom, pfrom);
if (r < 0 && ret >= 0 && !IN_SET(r, -ENOENT, -EBUSY))
return r;
}
return ret;
}
+1 -6
View File
@@ -122,12 +122,7 @@ TEST(cg_create) {
assert_se(cg_kill_recursive(test_a, 0, 0, NULL, NULL, NULL) > 0);
assert_se(cg_kill_recursive(test_b, 0, 0, NULL, NULL, NULL) == 0);
(void) cg_trim(SYSTEMD_CGROUP_CONTROLLER, test_b, false);
assert_se(cg_rmdir(SYSTEMD_CGROUP_CONTROLLER, test_b) == 0);
assert_se(cg_rmdir(SYSTEMD_CGROUP_CONTROLLER, test_a) < 0);
assert_se(cg_migrate_recursive(SYSTEMD_CGROUP_CONTROLLER, test_a, SYSTEMD_CGROUP_CONTROLLER, here, 0) > 0);
assert_se(cg_rmdir(SYSTEMD_CGROUP_CONTROLLER, test_a) == 0);
ASSERT_OK(cg_trim(SYSTEMD_CGROUP_CONTROLLER, test_b, true));
}
TEST(id) {