Lines Matching refs:root
722 struct nilfs_root *root; in nilfs_lookup_root() local
727 root = rb_entry(n, struct nilfs_root, rb_node); in nilfs_lookup_root()
729 if (cno < root->cno) { in nilfs_lookup_root()
731 } else if (cno > root->cno) { in nilfs_lookup_root()
734 atomic_inc(&root->count); in nilfs_lookup_root()
736 return root; in nilfs_lookup_root()
748 struct nilfs_root *root, *new; in nilfs_find_or_create_root() local
751 root = nilfs_lookup_root(nilfs, cno); in nilfs_find_or_create_root()
752 if (root) in nilfs_find_or_create_root()
753 return root; in nilfs_find_or_create_root()
755 new = kzalloc(sizeof(*root), GFP_KERNEL); in nilfs_find_or_create_root()
766 root = rb_entry(parent, struct nilfs_root, rb_node); in nilfs_find_or_create_root()
768 if (cno < root->cno) { in nilfs_find_or_create_root()
770 } else if (cno > root->cno) { in nilfs_find_or_create_root()
773 atomic_inc(&root->count); in nilfs_find_or_create_root()
776 return root; in nilfs_find_or_create_root()
801 void nilfs_put_root(struct nilfs_root *root) in nilfs_put_root() argument
803 if (atomic_dec_and_test(&root->count)) { in nilfs_put_root()
804 struct the_nilfs *nilfs = root->nilfs; in nilfs_put_root()
806 nilfs_sysfs_delete_snapshot_group(root); in nilfs_put_root()
809 rb_erase(&root->rb_node, &nilfs->ns_cptree); in nilfs_put_root()
811 iput(root->ifile); in nilfs_put_root()
813 kfree(root); in nilfs_put_root()