cgroup: relocate cgroup_populate_dir()
authorTejun Heo <tj@kernel.org>
Fri, 18 Sep 2015 21:54:23 +0000 (17:54 -0400)
committerTejun Heo <tj@kernel.org>
Fri, 18 Sep 2015 21:54:23 +0000 (17:54 -0400)
Move it upwards so that it's right below cgroup_clear_dir() and the
forward declaration is unnecessary.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
kernel/cgroup.c

index 5031edc..c38c3a2 100644 (file)
@@ -1116,7 +1116,6 @@ static struct cgroup *task_cgroup_from_root(struct task_struct *task,
  * update of a tasks cgroup pointer by cgroup_attach_task()
  */
 
-static int cgroup_populate_dir(struct cgroup *cgrp, unsigned long subsys_mask);
 static struct kernfs_syscall_ops cgroup_kf_syscall_ops;
 static const struct file_operations proc_cgroupstats_operations;
 
@@ -1333,6 +1332,37 @@ static void cgroup_clear_dir(struct cgroup *cgrp, unsigned long subsys_mask)
        }
 }
 
+/**
+ * cgroup_populate_dir - create subsys files in a cgroup directory
+ * @cgrp: target cgroup
+ * @subsys_mask: mask of the subsystem ids whose files should be added
+ *
+ * On failure, no file is added.
+ */
+static int cgroup_populate_dir(struct cgroup *cgrp, unsigned long subsys_mask)
+{
+       struct cgroup_subsys *ss;
+       int i, ret = 0;
+
+       /* process cftsets of each subsystem */
+       for_each_subsys(ss, i) {
+               struct cftype *cfts;
+
+               if (!(subsys_mask & (1 << i)))
+                       continue;
+
+               list_for_each_entry(cfts, &ss->cfts, node) {
+                       ret = cgroup_addrm_files(cgrp, cfts, true);
+                       if (ret < 0)
+                               goto err;
+               }
+       }
+       return 0;
+err:
+       cgroup_clear_dir(cgrp, subsys_mask);
+       return ret;
+}
+
 static int rebind_subsystems(struct cgroup_root *dst_root,
                             unsigned long ss_mask)
 {
@@ -4438,37 +4468,6 @@ static struct cftype cgroup_legacy_base_files[] = {
        { }     /* terminate */
 };
 
-/**
- * cgroup_populate_dir - create subsys files in a cgroup directory
- * @cgrp: target cgroup
- * @subsys_mask: mask of the subsystem ids whose files should be added
- *
- * On failure, no file is added.
- */
-static int cgroup_populate_dir(struct cgroup *cgrp, unsigned long subsys_mask)
-{
-       struct cgroup_subsys *ss;
-       int i, ret = 0;
-
-       /* process cftsets of each subsystem */
-       for_each_subsys(ss, i) {
-               struct cftype *cfts;
-
-               if (!(subsys_mask & (1 << i)))
-                       continue;
-
-               list_for_each_entry(cfts, &ss->cfts, node) {
-                       ret = cgroup_addrm_files(cgrp, cfts, true);
-                       if (ret < 0)
-                               goto err;
-               }
-       }
-       return 0;
-err:
-       cgroup_clear_dir(cgrp, subsys_mask);
-       return ret;
-}
-
 /*
  * css destruction is four-stage process.
  *