Lines Matching refs:kn
636 static struct cgroup *kn_priv(struct kernfs_node *kn) in kn_priv() argument
644 parent = rcu_dereference_check(kn->__parent, in kn_priv()
645 kernfs_root_flags(kn) & KERNFS_ROOT_INVARIANT_PARENT); in kn_priv()
651 struct cgroup *cgrp = kn_priv(of->kn); in of_css()
1621 void cgroup_kn_unlock(struct kernfs_node *kn) in cgroup_kn_unlock() argument
1625 if (kernfs_type(kn) == KERNFS_DIR) in cgroup_kn_unlock()
1626 cgrp = kn->priv; in cgroup_kn_unlock()
1628 cgrp = kn_priv(kn); in cgroup_kn_unlock()
1632 kernfs_unbreak_active_protection(kn); in cgroup_kn_unlock()
1653 struct cgroup *cgroup_kn_lock_live(struct kernfs_node *kn, bool drain_offline) in cgroup_kn_lock_live() argument
1657 if (kernfs_type(kn) == KERNFS_DIR) in cgroup_kn_lock_live()
1658 cgrp = kn->priv; in cgroup_kn_lock_live()
1660 cgrp = kn_priv(kn); in cgroup_kn_lock_live()
1670 kernfs_break_active_protection(kn); in cgroup_kn_lock_live()
1680 cgroup_kn_unlock(kn); in cgroup_kn_lock_live()
1695 cfile->kn = NULL; in cgroup_rm_file()
1701 kernfs_remove_by_name(cgrp->kn, cgroup_file_name(cgrp, cft, name)); in cgroup_rm_file()
1904 kernfs_activate(dcgrp->kn); in rebind_subsystems()
1922 len = kernfs_path_from_node(kf_node, ns_cgroup->kn, buf, PATH_MAX); in cgroup_show_path()
2141 root_cgrp->kn = kernfs_root_to_node(root->kf_root); in cgroup_setup_root()
2233 nsdentry = kernfs_node_dentry(cgrp->kn, sb); in cgroup_do_get_tree()
2433 return kernfs_path_from_node(cgrp->kn, root->kn, buf, buflen); in cgroup_path_ns_locked()
3472 cgrp = cgroup_kn_lock_live(of->kn, true); in cgroup_subtree_control_write()
3523 kernfs_activate(cgrp->kn); in cgroup_subtree_control_write()
3525 cgroup_kn_unlock(of->kn); in cgroup_subtree_control_write()
3612 cgrp = cgroup_kn_lock_live(of->kn, true); in cgroup_type_write()
3619 cgroup_kn_unlock(of->kn); in cgroup_type_write()
3655 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_max_descendants_write()
3661 cgroup_kn_unlock(of->kn); in cgroup_max_descendants_write()
3698 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_max_depth_write()
3704 cgroup_kn_unlock(of->kn); in cgroup_max_depth_write()
3874 cgrp = cgroup_kn_lock_live(of->kn, false); in pressure_write()
3879 cgroup_kn_unlock(of->kn); in pressure_write()
3964 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_pressure_write()
3981 cgroup_kn_unlock(of->kn); in cgroup_pressure_write()
4040 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_freeze_write()
4046 cgroup_kn_unlock(of->kn); in cgroup_freeze_write()
4102 cgrp = cgroup_kn_lock_live(of->kn, false); in cgroup_kill_write()
4116 cgroup_kn_unlock(of->kn); in cgroup_kill_write()
4161 struct cgroup *cgrp = kn_priv(of->kn); in cgroup_file_write()
4284 struct kernfs_node *kn; in cgroup_add_file() local
4290 kn = __kernfs_create_file(cgrp->kn, cgroup_file_name(cgrp, cft, name), in cgroup_add_file()
4295 if (IS_ERR(kn)) in cgroup_add_file()
4296 return PTR_ERR(kn); in cgroup_add_file()
4304 cfile->kn = kn; in cgroup_add_file()
4381 kernfs_activate(root->kn); in cgroup_apply_cftypes()
4563 if (cfile->kn) { in cgroup_file_notify()
4570 kernfs_notify(cfile->kn); in cgroup_file_notify()
4584 struct kernfs_node *kn; in cgroup_file_show() local
4587 kn = cfile->kn; in cgroup_file_show()
4588 kernfs_get(kn); in cgroup_file_show()
4591 if (kn) in cgroup_file_show()
4592 kernfs_show(kn, show); in cgroup_file_show()
4594 kernfs_put(kn); in cgroup_file_show()
5168 inode = kernfs_get_inode(sb, cgrp->procs_file.kn); in cgroup_may_write()
5239 dst_cgrp = cgroup_kn_lock_live(of->kn, false); in __cgroup_procs_write()
5271 cgroup_kn_unlock(of->kn); in __cgroup_procs_write()
5475 kernfs_put(cgrp->kn); in css_free_rwork_fn()
5550 if (cgrp->kn) in css_release_work_fn()
5551 RCU_INIT_POINTER(*(void __rcu __force **)&cgrp->kn->priv, in css_release_work_fn()
5715 struct kernfs_node *kn; in cgroup_create() local
5733 kn = kernfs_create_dir_ns(parent->kn, name, mode, in cgroup_create()
5736 if (IS_ERR(kn)) { in cgroup_create()
5737 ret = PTR_ERR(kn); in cgroup_create()
5740 cgrp->kn = kn; in cgroup_create()
5819 kernfs_remove(cgrp->kn); in cgroup_create()
5880 kernfs_get(cgrp->kn); in cgroup_mkdir()
5893 kernfs_activate(cgrp->kn); in cgroup_mkdir()
6056 kernfs_remove(cgrp->kn); in cgroup_destroy_locked()
6085 int cgroup_rmdir(struct kernfs_node *kn) in cgroup_rmdir() argument
6090 cgrp = cgroup_kn_lock_live(kn, false); in cgroup_rmdir()
6098 cgroup_kn_unlock(kn); in cgroup_rmdir()
6321 struct kernfs_node *kn; in cgroup_path_from_kernfs_id() local
6323 kn = kernfs_find_and_get_node_by_id(cgrp_dfl_root.kf_root, id); in cgroup_path_from_kernfs_id()
6324 if (!kn) in cgroup_path_from_kernfs_id()
6326 kernfs_path(kn, buf, buflen); in cgroup_path_from_kernfs_id()
6327 kernfs_put(kn); in cgroup_path_from_kernfs_id()
6338 struct kernfs_node *kn; in cgroup_get_from_id() local
6341 kn = kernfs_find_and_get_node_by_id(cgrp_dfl_root.kf_root, id); in cgroup_get_from_id()
6342 if (!kn) in cgroup_get_from_id()
6345 if (kernfs_type(kn) != KERNFS_DIR) { in cgroup_get_from_id()
6346 kernfs_put(kn); in cgroup_get_from_id()
6352 cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); in cgroup_get_from_id()
6357 kernfs_put(kn); in cgroup_get_from_id()
6928 struct kernfs_node *kn = kernfs_node_from_dentry(dentry); in css_tryget_online_from_dir() local
6935 !kn || kernfs_type(kn) != KERNFS_DIR) in css_tryget_online_from_dir()
6945 cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); in css_tryget_online_from_dir()
6981 struct kernfs_node *kn; in cgroup_get_from_path() local
6986 kn = kernfs_walk_and_get(root_cgrp->kn, path); in cgroup_get_from_path()
6987 if (!kn) in cgroup_get_from_path()
6990 if (kernfs_type(kn) != KERNFS_DIR) { in cgroup_get_from_path()
6997 cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); in cgroup_get_from_path()
7004 kernfs_put(kn); in cgroup_get_from_path()