|
@@ -741,27 +741,11 @@ static inline struct cgroup *task_cgroup(struct task_struct *task,
|
|
|
return task_css(task, subsys_id)->cgroup;
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * cgroup_from_id - lookup cgroup by id
|
|
|
- * @ss: cgroup subsys to be looked into
|
|
|
- * @id: the cgroup id
|
|
|
- *
|
|
|
- * Returns the cgroup if there's valid one with @id, otherwise returns NULL.
|
|
|
- * Should be called under rcu_read_lock().
|
|
|
- */
|
|
|
-static inline struct cgroup *cgroup_from_id(struct cgroup_subsys *ss, int id)
|
|
|
-{
|
|
|
-#ifdef CONFIG_PROVE_RCU
|
|
|
- rcu_lockdep_assert(rcu_read_lock_held() ||
|
|
|
- lockdep_is_held(&cgroup_mutex),
|
|
|
- "cgroup_from_id() needs proper protection");
|
|
|
-#endif
|
|
|
- return idr_find(&ss->root->cgroup_idr, id);
|
|
|
-}
|
|
|
-
|
|
|
struct cgroup_subsys_state *css_next_child(struct cgroup_subsys_state *pos,
|
|
|
struct cgroup_subsys_state *parent);
|
|
|
|
|
|
+struct cgroup_subsys_state *css_from_id(int id, struct cgroup_subsys *ss);
|
|
|
+
|
|
|
/**
|
|
|
* css_for_each_child - iterate through children of a css
|
|
|
* @pos: the css * to use as the loop cursor
|