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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user