Lines Matching +refs:sb +refs:id +refs:attrs
336 static void *cgroup_idr_replace(struct idr *idr, void *ptr, int id) in cgroup_idr_replace() argument
341 ret = idr_replace(idr, ptr, id); in cgroup_idr_replace()
346 static void cgroup_idr_remove(struct idr *idr, int id) in cgroup_idr_remove() argument
349 idr_remove(idr, id); in cgroup_idr_remove()
489 return rcu_dereference_check(cgrp->subsys[ss->id], in cgroup_css()
517 while (!(cgroup_ss_mask(cgrp) & (1 << ss->id))) { in cgroup_e_css_by_mask()
555 return init_css_set.subsys[ss->id]; in cgroup_e_css()
587 css = init_css_set.subsys[ss->id]; in cgroup_get_e_css()
648 return rcu_dereference_raw(cgrp->subsys[cft->ss->id]); in of_css()
1295 int id; in cgroup_init_root_id() local
1299 id = idr_alloc_cyclic(&cgroup_hierarchy_idr, root, 0, 0, GFP_KERNEL); in cgroup_init_root_id()
1300 if (id < 0) in cgroup_init_root_id()
1301 return id; in cgroup_init_root_id()
1303 root->hierarchy_id = id; in cgroup_init_root_id()
1826 WARN_ON(!list_empty(&dcgrp->e_csets[ss->id])); in rebind_subsystems()
1827 list_for_each_entry_safe(cset, cset_pos, &scgrp->e_csets[ss->id], in rebind_subsystems()
1828 e_cset_node[ss->id]) { in rebind_subsystems()
1829 list_move_tail(&cset->e_cset_node[ss->id], in rebind_subsystems()
1830 &dcgrp->e_csets[ss->id]); in rebind_subsystems()
1839 if (it->cset_head == &scgrp->e_csets[ss->id]) in rebind_subsystems()
1840 it->cset_head = &dcgrp->e_csets[ss->id]; in rebind_subsystems()
2153 struct super_block *sb = fc->root->d_sb; in cgroup_do_get_tree() local
2164 nsdentry = kernfs_node_dentry(cgrp->kn, sb); in cgroup_do_get_tree()
2167 deactivate_locked_super(sb); in cgroup_do_get_tree()
2252 static void cgroup_kill_sb(struct super_block *sb) in cgroup_kill_sb() argument
2254 struct kernfs_root *kf_root = kernfs_root_from_sb(sb); in cgroup_kill_sb()
2269 kernfs_kill_sb(sb); in cgroup_kill_sb()
3151 if (cgroup_control(cgrp) & (1 << ss->id)) in css_visible()
3153 if (!(cgroup_ss_mask(cgrp) & (1 << ss->id))) in css_visible()
3182 if (!(cgroup_ss_mask(dsct) & (1 << ss->id))) in cgroup_apply_control_enable()
3234 !(cgroup_ss_mask(dsct) & (1 << ss->id))) { in cgroup_apply_control_disable()
4406 if (!cgroup_ssid_enabled(ss->id)) in cgroup_add_cftypes()
4765 cset = container_of(l, struct css_set, e_cset_node[it->ss->id]); in css_task_iter_next_css_set()
4928 it->cset_pos = &css->cgroup->e_csets[css->ss->id]; in css_task_iter_start()
5062 static int cgroup_may_write(const struct cgroup *cgrp, struct super_block *sb) in cgroup_may_write() argument
5069 inode = kernfs_get_inode(sb, cgrp->procs_file.kn); in cgroup_may_write()
5080 struct super_block *sb, in cgroup_procs_write_permission() argument
5093 ret = cgroup_may_write(com_cgrp, sb); in cgroup_procs_write_permission()
5111 struct super_block *sb, bool threadgroup, in cgroup_attach_permissions() argument
5116 ret = cgroup_procs_write_permission(src_cgrp, dst_cgrp, sb, ns); in cgroup_attach_permissions()
5356 int id = css->id; in css_free_rwork_fn() local
5359 cgroup_idr_remove(&ss->css_idr, id); in css_free_rwork_fn()
5413 cgroup_idr_replace(&ss->css_idr, NULL, css->id); in css_release_work_fn()
5467 css->id = -1; in init_and_link_css()
5497 rcu_assign_pointer(css->cgroup->subsys[ss->id], css); in online_css()
5520 RCU_INIT_POINTER(css->cgroup->subsys[ss->id], NULL); in offline_css()
5559 css->id = err; in css_create()
5563 cgroup_idr_replace(&ss->css_idr, css, css->id); in css_create()
6002 css->id = 1; in cgroup_init_subsys()
6004 css->id = cgroup_idr_alloc(&ss->css_idr, css, 1, 2, GFP_KERNEL); in cgroup_init_subsys()
6005 BUG_ON(css->id < 0); in cgroup_init_subsys()
6012 init_css_set.subsys[ss->id] = css; in cgroup_init_subsys()
6014 have_fork_callback |= (bool)ss->fork << ss->id; in cgroup_init_subsys()
6015 have_exit_callback |= (bool)ss->exit << ss->id; in cgroup_init_subsys()
6016 have_release_callback |= (bool)ss->release << ss->id; in cgroup_init_subsys()
6017 have_canfork_callback |= (bool)ss->can_fork << ss->id; in cgroup_init_subsys()
6048 WARN(!ss->css_alloc || !ss->css_free || ss->name || ss->id, in cgroup_init_early()
6051 ss->id, ss->name); in cgroup_init_early()
6055 ss->id = i; in cgroup_init_early()
6102 init_css_set.subsys[ss->id]; in cgroup_init()
6104 css->id = cgroup_idr_alloc(&ss->css_idr, css, 1, 2, in cgroup_init()
6106 BUG_ON(css->id < 0); in cgroup_init()
6126 cgrp_dfl_root.subsys_mask |= 1 << ss->id; in cgroup_init()
6132 cgrp_dfl_implicit_ss_mask |= 1 << ss->id; in cgroup_init()
6134 cgrp_dfl_inhibit_ss_mask |= 1 << ss->id; in cgroup_init()
6137 cgrp_dfl_threaded_ss_mask |= 1 << ss->id; in cgroup_init()
6186 void cgroup_path_from_kernfs_id(u64 id, char *buf, size_t buflen) in cgroup_path_from_kernfs_id() argument
6190 kn = kernfs_find_and_get_node_by_id(cgrp_dfl_root.kf_root, id); in cgroup_path_from_kernfs_id()
6203 struct cgroup *cgroup_get_from_id(u64 id) in cgroup_get_from_id() argument
6208 kn = kernfs_find_and_get_node_by_id(cgrp_dfl_root.kf_root, id); in cgroup_get_from_id()
6391 struct super_block *sb; in cgroup_css_set_fork() local
6414 sb = f->f_path.dentry->d_sb; in cgroup_css_set_fork()
6433 ret = cgroup_may_write(dst_cgrp, sb); in cgroup_css_set_fork()
6451 ret = cgroup_attach_permissions(cset->dfl_cgrp, dst_cgrp, sb, in cgroup_css_set_fork()
6815 struct cgroup_subsys_state *css_from_id(int id, struct cgroup_subsys *ss) in css_from_id() argument
6818 return idr_find(&ss->css_idr, id); in css_from_id()
7064 .attrs = cgroup_sysfs_attrs,