]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/sched/cls_cgroup.c
cgroup: pass around cgroup_subsys_state instead of cgroup in subsystem methods
[karo-tx-linux.git] / net / sched / cls_cgroup.c
index 9e6b75e5efce4261cb46e5fe9160526564f74cd8..dc3983835893117638d56850338de1bea7495b00 100644 (file)
@@ -38,7 +38,8 @@ static inline struct cgroup_cls_state *task_cls_state(struct task_struct *p)
        return css_cls_state(task_css(p, net_cls_subsys_id));
 }
 
-static struct cgroup_subsys_state *cgrp_css_alloc(struct cgroup *cgrp)
+static struct cgroup_subsys_state *
+cgrp_css_alloc(struct cgroup_subsys_state *parent_css)
 {
        struct cgroup_cls_state *cs;
 
@@ -48,19 +49,19 @@ static struct cgroup_subsys_state *cgrp_css_alloc(struct cgroup *cgrp)
        return &cs->css;
 }
 
-static int cgrp_css_online(struct cgroup *cgrp)
+static int cgrp_css_online(struct cgroup_subsys_state *css)
 {
-       struct cgroup_cls_state *cs = cgrp_cls_state(cgrp);
-       struct cgroup_cls_state *parent = css_cls_state(css_parent(&cs->css));
+       struct cgroup_cls_state *cs = css_cls_state(css);
+       struct cgroup_cls_state *parent = css_cls_state(css_parent(css));
 
        if (parent)
                cs->classid = parent->classid;
        return 0;
 }
 
-static void cgrp_css_free(struct cgroup *cgrp)
+static void cgrp_css_free(struct cgroup_subsys_state *css)
 {
-       kfree(cgrp_cls_state(cgrp));
+       kfree(css_cls_state(css));
 }
 
 static int update_classid(const void *v, struct file *file, unsigned n)
@@ -72,12 +73,13 @@ static int update_classid(const void *v, struct file *file, unsigned n)
        return 0;
 }
 
-static void cgrp_attach(struct cgroup *cgrp, struct cgroup_taskset *tset)
+static void cgrp_attach(struct cgroup_subsys_state *css,
+                       struct cgroup_taskset *tset)
 {
        struct task_struct *p;
        void *v;
 
-       cgroup_taskset_for_each(p, cgrp, tset) {
+       cgroup_taskset_for_each(p, css->cgroup, tset) {
                task_lock(p);
                v = (void *)(unsigned long)task_cls_classid(p);
                iterate_fd(p->files, 0, update_classid, v);