Lines Matching refs:root

482 	struct kernfs_root *root = kernfs_root(kn);  in kernfs_drain()  local
484 lockdep_assert_held_write(&root->kernfs_rwsem); in kernfs_drain()
497 up_write(&root->kernfs_rwsem); in kernfs_drain()
505 wait_event(root->deactivate_waitq, in kernfs_drain()
516 down_write(&root->kernfs_rwsem); in kernfs_drain()
555 struct kernfs_root *root; in kernfs_put() local
559 root = kernfs_root(kn); in kernfs_put()
575 idr_remove(&root->ino_idr, (u32)kernfs_ino(kn)); in kernfs_put()
586 idr_destroy(&root->ino_idr); in kernfs_put()
587 kfree_rcu(root, rcu); in kernfs_put()
610 static struct kernfs_node *__kernfs_new_node(struct kernfs_root *root, in __kernfs_new_node() argument
630 ret = idr_alloc_cyclic(&root->ino_idr, kn, 1, 0, GFP_ATOMIC); in __kernfs_new_node()
631 if (ret >= 0 && ret < root->last_id_lowbits) in __kernfs_new_node()
632 root->id_highbits++; in __kernfs_new_node()
633 id_highbits = root->id_highbits; in __kernfs_new_node()
634 root->last_id_lowbits = ret; in __kernfs_new_node()
672 idr_remove(&root->ino_idr, (u32)kernfs_ino(kn)); in __kernfs_new_node()
720 struct kernfs_node *kernfs_find_and_get_node_by_id(struct kernfs_root *root, in kernfs_find_and_get_node_by_id() argument
729 kn = idr_find(&root->ino_idr, (u32)ino); in kernfs_find_and_get_node_by_id()
773 struct kernfs_root *root = kernfs_root(parent); in kernfs_add_one() local
778 down_write(&root->kernfs_rwsem); in kernfs_add_one()
800 down_write(&root->kernfs_iattr_rwsem); in kernfs_add_one()
808 up_write(&root->kernfs_iattr_rwsem); in kernfs_add_one()
809 up_write(&root->kernfs_rwsem); in kernfs_add_one()
823 up_write(&root->kernfs_rwsem); in kernfs_add_one()
916 struct kernfs_root *root = kernfs_root(parent); in kernfs_find_and_get_ns() local
918 down_read(&root->kernfs_rwsem); in kernfs_find_and_get_ns()
921 up_read(&root->kernfs_rwsem); in kernfs_find_and_get_ns()
942 struct kernfs_root *root = kernfs_root(parent); in kernfs_walk_and_get_ns() local
944 down_read(&root->kernfs_rwsem); in kernfs_walk_and_get_ns()
947 up_read(&root->kernfs_rwsem); in kernfs_walk_and_get_ns()
964 struct kernfs_root *root; in kernfs_create_root() local
967 root = kzalloc(sizeof(*root), GFP_KERNEL); in kernfs_create_root()
968 if (!root) in kernfs_create_root()
971 idr_init(&root->ino_idr); in kernfs_create_root()
972 init_rwsem(&root->kernfs_rwsem); in kernfs_create_root()
973 init_rwsem(&root->kernfs_iattr_rwsem); in kernfs_create_root()
974 init_rwsem(&root->kernfs_supers_rwsem); in kernfs_create_root()
975 INIT_LIST_HEAD(&root->supers); in kernfs_create_root()
984 root->id_highbits = 0; in kernfs_create_root()
986 root->id_highbits = 1; in kernfs_create_root()
988 kn = __kernfs_new_node(root, NULL, "", S_IFDIR | S_IRUGO | S_IXUGO, in kernfs_create_root()
992 idr_destroy(&root->ino_idr); in kernfs_create_root()
993 kfree(root); in kernfs_create_root()
998 kn->dir.root = root; in kernfs_create_root()
1000 root->syscall_ops = scops; in kernfs_create_root()
1001 root->flags = flags; in kernfs_create_root()
1002 root->kn = kn; in kernfs_create_root()
1003 init_waitqueue_head(&root->deactivate_waitq); in kernfs_create_root()
1005 if (!(root->flags & KERNFS_ROOT_CREATE_DEACTIVATED)) in kernfs_create_root()
1008 return root; in kernfs_create_root()
1018 void kernfs_destroy_root(struct kernfs_root *root) in kernfs_destroy_root() argument
1024 kernfs_get(root->kn); in kernfs_destroy_root()
1025 kernfs_remove(root->kn); in kernfs_destroy_root()
1026 kernfs_put(root->kn); /* will also free @root */ in kernfs_destroy_root()
1035 struct kernfs_node *kernfs_root_to_node(struct kernfs_root *root) in kernfs_root_to_node() argument
1037 return root->kn; in kernfs_root_to_node()
1066 kn->dir.root = parent->dir.root; in kernfs_create_dir_ns()
1099 kn->dir.root = parent->dir.root; in kernfs_create_empty_dir()
1115 struct kernfs_root *root; in kernfs_dop_revalidate() local
1140 root = kernfs_root_from_sb(dentry->d_sb); in kernfs_dop_revalidate()
1141 down_read(&root->kernfs_rwsem); in kernfs_dop_revalidate()
1145 up_read(&root->kernfs_rwsem); in kernfs_dop_revalidate()
1149 up_read(&root->kernfs_rwsem); in kernfs_dop_revalidate()
1158 root = kernfs_root(kn); in kernfs_dop_revalidate()
1159 down_read(&root->kernfs_rwsem); in kernfs_dop_revalidate()
1178 up_read(&root->kernfs_rwsem); in kernfs_dop_revalidate()
1181 up_read(&root->kernfs_rwsem); in kernfs_dop_revalidate()
1195 struct kernfs_root *root; in kernfs_iop_lookup() local
1199 root = kernfs_root(parent); in kernfs_iop_lookup()
1200 down_read(&root->kernfs_rwsem); in kernfs_iop_lookup()
1211 up_read(&root->kernfs_rwsem); in kernfs_iop_lookup()
1226 up_read(&root->kernfs_rwsem); in kernfs_iop_lookup()
1347 struct kernfs_node *root) in kernfs_next_descendant_post() argument
1351 lockdep_assert_held_write(&kernfs_root(root)->kernfs_rwsem); in kernfs_next_descendant_post()
1355 return kernfs_leftmost_descendant(root); in kernfs_next_descendant_post()
1358 if (pos == root) in kernfs_next_descendant_post()
1401 struct kernfs_root *root = kernfs_root(kn); in kernfs_activate() local
1403 down_write(&root->kernfs_rwsem); in kernfs_activate()
1409 up_write(&root->kernfs_rwsem); in kernfs_activate()
1426 struct kernfs_root *root = kernfs_root(kn); in kernfs_show() local
1431 down_write(&root->kernfs_rwsem); in kernfs_show()
1444 up_write(&root->kernfs_rwsem); in kernfs_show()
1520 struct kernfs_root *root; in kernfs_remove() local
1525 root = kernfs_root(kn); in kernfs_remove()
1527 down_write(&root->kernfs_rwsem); in kernfs_remove()
1529 up_write(&root->kernfs_rwsem); in kernfs_remove()
1617 struct kernfs_root *root = kernfs_root(kn); in kernfs_remove_self() local
1619 down_write(&root->kernfs_rwsem); in kernfs_remove_self()
1647 up_write(&root->kernfs_rwsem); in kernfs_remove_self()
1649 down_write(&root->kernfs_rwsem); in kernfs_remove_self()
1662 up_write(&root->kernfs_rwsem); in kernfs_remove_self()
1680 struct kernfs_root *root; in kernfs_remove_by_name_ns() local
1688 root = kernfs_root(parent); in kernfs_remove_by_name_ns()
1689 down_write(&root->kernfs_rwsem); in kernfs_remove_by_name_ns()
1698 up_write(&root->kernfs_rwsem); in kernfs_remove_by_name_ns()
1719 struct kernfs_root *root; in kernfs_rename_ns() local
1727 root = kernfs_root(kn); in kernfs_rename_ns()
1728 down_write(&root->kernfs_rwsem); in kernfs_rename_ns()
1782 up_write(&root->kernfs_rwsem); in kernfs_rename_ns()
1847 struct kernfs_root *root; in kernfs_fop_readdir() local
1853 root = kernfs_root(parent); in kernfs_fop_readdir()
1854 down_read(&root->kernfs_rwsem); in kernfs_fop_readdir()
1871 up_read(&root->kernfs_rwsem); in kernfs_fop_readdir()
1874 down_read(&root->kernfs_rwsem); in kernfs_fop_readdir()
1876 up_read(&root->kernfs_rwsem); in kernfs_fop_readdir()