summaryrefslogtreecommitdiffstats
path: root/src/tools/cgset.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/cgset.c')
-rw-r--r--src/tools/cgset.c58
1 files changed, 2 insertions, 56 deletions
diff --git a/src/tools/cgset.c b/src/tools/cgset.c
index b9a7901..7562956 100644
--- a/src/tools/cgset.c
+++ b/src/tools/cgset.c
@@ -55,61 +55,6 @@ scgroup_err:
}
-struct cgroup *copy_name_value_from_rules(int nv_number,
- struct control_value *name_value)
-{
- struct cgroup *src_cgroup;
- struct cgroup_controller *cgc;
- char con[FILENAME_MAX];
-
- int ret;
- int i;
-
- /* create source cgroup */
- src_cgroup = cgroup_new_cgroup("tmp");
- if (!src_cgroup) {
- fprintf(stderr, "can't create cgroup: %s\n",
- cgroup_strerror(ECGFAIL));
- goto scgroup_err;
- }
-
- /* add pairs name-value to
- relevant controllers of this cgroup */
- for (i = 0; i < nv_number; i++) {
-
- if ((strchr(name_value[i].name, '.')) == NULL) {
- fprintf(stderr, "wrong -r parameter (%s=%s)\n",
- name_value[i].name, name_value[i].value);
- goto scgroup_err;
- }
-
- strncpy(con, name_value[i].name, FILENAME_MAX);
- strtok(con, ".");
-
- /* add relevant controller */
- cgc = cgroup_add_controller(src_cgroup, con);
- if (!cgc) {
- fprintf(stderr, "controller %s can't be add\n",
- con);
- goto scgroup_err;
- }
-
- /* add name-value pair to this controller */
- ret = cgroup_add_value_string(cgc,
- name_value[i].name, name_value[i].value);
- if (ret) {
- fprintf(stderr, "name-value pair %s=%s can't be set\n",
- name_value[i].name, name_value[i].value);
- goto scgroup_err;
- }
- }
-
- return src_cgroup;
-scgroup_err:
- cgroup_free(&src_cgroup);
- return NULL;
-}
-
void usage(int status, char *program_name)
{
if (status != 0)
@@ -248,7 +193,8 @@ int main(int argc, char *argv[])
/* copy the name-value pairs from -r options */
if ((flags & FL_RULES) != 0) {
- src_cgroup = copy_name_value_from_rules(nv_number, name_value);
+ src_cgroup = create_cgroup_from_name_value_pairs(
+ "tmp", name_value, nv_number);
if (src_cgroup == NULL)
goto err;
}