]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
removes copy_name_value_from_rules to wrapper
authorIvana Varekova <varekova@redhat.com>
Wed, 15 Jul 2009 08:28:56 +0000 (10:28 +0200)
committerDhaval Giani <dhaval@linux.vnet.ibm.com>
Thu, 6 Aug 2009 06:21:34 +0000 (11:51 +0530)
move copy_name_value_from_rules procedure to wrapper.c file and
add the header to libcgroup-internal.h

Signed-off-by: Ivana Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
src/libcgroup-internal.h
src/libcgroup.map
src/tools/cgset.c
src/wrapper.c

index fa92048666bed975f7e3f9fbcae0e25024e548e5..8ceb73e1c9d48b3b8db51b5a49336cb298f65dac 100644 (file)
@@ -113,6 +113,8 @@ char *cg_build_path(char *name, char *path, char *type);
 int cgroup_get_uid_gid_from_procfs(pid_t pid, uid_t *euid, gid_t *egid);
 int cgroup_get_procname_from_procfs(pid_t pid, char **procname);
 int cg_mkdir_p(const char *path);
+struct cgroup *create_cgroup_from_name_value_pairs(const char *name,
+               struct control_value *name_value, int nv_number);
 
 
 /*
index aa9d0d2706cd5fa5a729bfc0b5e87f0bd2a23295..9973110a60efc99d753587d39a0b7dd5632e62e0 100644 (file)
@@ -74,3 +74,8 @@ global:
        cgroup_register_unchanged_process;
        cgroup_change_cgroup_flags;
 } CGROUP_0.33;
+
+CGROUP_0.35 {
+global:
+       create_cgroup_from_name_value_pairs;
+} CGROUP_0.34;
index b9a7901fff3e96c2c9bc597a82cd9bd418131a70..7562956de57ee9afbe3b3835aa8fa6da4ecd3ff8 100644 (file)
@@ -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;
        }
index 1ee16659125f0ae5467031d10823339d30651175..c82ffbffc144e1fc7eb2ddf4af074f813ba16b6d 100644 (file)
@@ -557,3 +557,58 @@ int cgroup_set_value_bool(struct cgroup_controller *controller,
 
        return cgroup_add_value_bool(controller, name, value);
 }
+
+struct cgroup *create_cgroup_from_name_value_pairs(const char *name,
+               struct control_value *name_value, int nv_number)
+{
+       struct cgroup *src_cgroup;
+       struct cgroup_controller *cgc;
+       char con[FILENAME_MAX];
+
+       int ret;
+       int i;
+
+       /* create source cgroup */
+       src_cgroup = cgroup_new_cgroup(name);
+       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;
+}