Lines Matching refs:root
43 struct btrfs_root *root, u64 inode_id) in btrfs_init_delayed_node() argument
45 delayed_node->root = root; in btrfs_init_delayed_node()
58 struct btrfs_root *root = btrfs_inode->root; in btrfs_get_delayed_node() local
68 spin_lock(&root->inode_lock); in btrfs_get_delayed_node()
69 node = radix_tree_lookup(&root->delayed_nodes_tree, ino); in btrfs_get_delayed_node()
75 spin_unlock(&root->inode_lock); in btrfs_get_delayed_node()
102 spin_unlock(&root->inode_lock); in btrfs_get_delayed_node()
105 spin_unlock(&root->inode_lock); in btrfs_get_delayed_node()
115 struct btrfs_root *root = btrfs_inode->root; in btrfs_get_or_create_delayed_node() local
127 btrfs_init_delayed_node(node, root, ino); in btrfs_get_or_create_delayed_node()
138 spin_lock(&root->inode_lock); in btrfs_get_or_create_delayed_node()
139 ret = radix_tree_insert(&root->delayed_nodes_tree, ino, node); in btrfs_get_or_create_delayed_node()
141 spin_unlock(&root->inode_lock); in btrfs_get_or_create_delayed_node()
147 spin_unlock(&root->inode_lock); in btrfs_get_or_create_delayed_node()
158 static void btrfs_queue_delayed_node(struct btrfs_delayed_root *root, in btrfs_queue_delayed_node() argument
162 spin_lock(&root->lock); in btrfs_queue_delayed_node()
165 list_move_tail(&node->p_list, &root->prepare_list); in btrfs_queue_delayed_node()
167 list_add_tail(&node->p_list, &root->prepare_list); in btrfs_queue_delayed_node()
169 list_add_tail(&node->n_list, &root->node_list); in btrfs_queue_delayed_node()
170 list_add_tail(&node->p_list, &root->prepare_list); in btrfs_queue_delayed_node()
172 root->nodes++; in btrfs_queue_delayed_node()
175 spin_unlock(&root->lock); in btrfs_queue_delayed_node()
179 static void btrfs_dequeue_delayed_node(struct btrfs_delayed_root *root, in btrfs_dequeue_delayed_node() argument
182 spin_lock(&root->lock); in btrfs_dequeue_delayed_node()
184 root->nodes--; in btrfs_dequeue_delayed_node()
191 spin_unlock(&root->lock); in btrfs_dequeue_delayed_node()
220 delayed_root = node->root->fs_info->delayed_root; in btrfs_next_delayed_node()
249 delayed_root = delayed_node->root->fs_info->delayed_root; in __btrfs_release_delayed_node()
259 struct btrfs_root *root = delayed_node->root; in __btrfs_release_delayed_node() local
261 spin_lock(&root->inode_lock); in __btrfs_release_delayed_node()
267 radix_tree_delete(&root->delayed_nodes_tree, in __btrfs_release_delayed_node()
269 spin_unlock(&root->inode_lock); in __btrfs_release_delayed_node()
334 struct rb_root *root, in __btrfs_lookup_delayed_item() argument
337 struct rb_node *node = root->rb_node; in __btrfs_lookup_delayed_item()
359 struct rb_root_cached *root; in __btrfs_add_delayed_item() local
364 root = &delayed_node->ins_root; in __btrfs_add_delayed_item()
366 root = &delayed_node->del_root; in __btrfs_add_delayed_item()
368 p = &root->rb_root.rb_node; in __btrfs_add_delayed_item()
387 rb_insert_color_cached(node, root, leftmost); in __btrfs_add_delayed_item()
394 atomic_inc(&delayed_node->root->fs_info->delayed_root->items); in __btrfs_add_delayed_item()
411 struct rb_root_cached *root; in __btrfs_remove_delayed_item() local
421 delayed_root = delayed_node->root->fs_info->delayed_root; in __btrfs_remove_delayed_item()
426 root = &delayed_node->ins_root; in __btrfs_remove_delayed_item()
428 root = &delayed_node->del_root; in __btrfs_remove_delayed_item()
430 rb_erase_cached(&delayed_item->rb_node, root); in __btrfs_remove_delayed_item()
524 static void btrfs_delayed_item_release_metadata(struct btrfs_root *root, in btrfs_delayed_item_release_metadata() argument
528 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_delayed_item_release_metadata()
547 struct btrfs_fs_info *fs_info = node->root->fs_info; in btrfs_delayed_item_release_leaves()
561 struct btrfs_root *root, in btrfs_delayed_inode_reserve_metadata() argument
564 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_delayed_inode_reserve_metadata()
586 ret = btrfs_qgroup_reserve_meta(root, num_bytes, in btrfs_delayed_inode_reserve_metadata()
595 btrfs_qgroup_free_meta_prealloc(root, num_bytes); in btrfs_delayed_inode_reserve_metadata()
623 btrfs_qgroup_free_meta_prealloc(node->root, in btrfs_delayed_inode_release_metadata()
626 btrfs_qgroup_convert_reserved_meta(node->root, in btrfs_delayed_inode_release_metadata()
642 struct btrfs_root *root, in btrfs_insert_delayed_item() argument
646 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_insert_delayed_item()
745 ret = btrfs_insert_empty_items(trans, root, path, &batch); in btrfs_insert_delayed_item()
809 struct btrfs_root *root, in btrfs_insert_delayed_items() argument
823 ret = btrfs_insert_delayed_item(trans, root, path, curr); in btrfs_insert_delayed_items()
831 struct btrfs_root *root, in btrfs_batch_delete_items() argument
836 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_batch_delete_items()
884 ret = btrfs_del_items(trans, root, path, path->slots[0], nitems); in btrfs_batch_delete_items()
910 struct btrfs_root *root, in btrfs_delete_delayed_items() argument
930 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_delete_delayed_items()
950 ret = btrfs_batch_delete_items(trans, root, path, item); in btrfs_delete_delayed_items()
973 BUG_ON(!delayed_node->root); in btrfs_release_delayed_inode()
977 delayed_root = delayed_node->root->fs_info->delayed_root; in btrfs_release_delayed_inode()
988 ASSERT(delayed_node->root); in btrfs_release_delayed_iref()
991 delayed_root = delayed_node->root->fs_info->delayed_root; in btrfs_release_delayed_iref()
997 struct btrfs_root *root, in __btrfs_update_delayed_inode() argument
1001 struct btrfs_fs_info *fs_info = root->fs_info; in __btrfs_update_delayed_inode()
1017 ret = btrfs_lookup_inode(trans, root, path, &key, mod); in __btrfs_update_delayed_inode()
1050 btrfs_del_item(trans, root, path); in __btrfs_update_delayed_inode()
1074 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in __btrfs_update_delayed_inode()
1086 struct btrfs_root *root, in btrfs_update_delayed_inode() argument
1098 ret = __btrfs_update_delayed_inode(trans, root, path, node); in btrfs_update_delayed_inode()
1110 ret = btrfs_insert_delayed_items(trans, path, node->root, node); in __btrfs_commit_inode_delayed_items()
1114 ret = btrfs_delete_delayed_items(trans, path, node->root, node); in __btrfs_commit_inode_delayed_items()
1118 ret = btrfs_update_delayed_inode(trans, node->root, path, node); in __btrfs_commit_inode_delayed_items()
1223 trans->block_rsv = &delayed_node->root->fs_info->delayed_block_rsv; in btrfs_commit_inode_delayed_items()
1236 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_commit_inode_delayed_inode()
1254 trans = btrfs_join_transaction(delayed_node->root); in btrfs_commit_inode_delayed_inode()
1271 ret = __btrfs_update_delayed_inode(trans, delayed_node->root, in btrfs_commit_inode_delayed_inode()
1313 struct btrfs_root *root; in btrfs_async_run_delayed_root() local
1333 root = delayed_node->root; in btrfs_async_run_delayed_root()
1335 trans = btrfs_join_transaction(root); in btrfs_async_run_delayed_root()
1344 trans->block_rsv = &root->fs_info->delayed_block_rsv; in btrfs_async_run_delayed_root()
1350 btrfs_btree_balance_dirty_nodelay(root->fs_info); in btrfs_async_run_delayed_root()
1504 name_len, name, index, btrfs_root_id(delayed_node->root), in btrfs_insert_delayed_dir_index()
1634 index, node->root->root_key.objectid, in btrfs_delete_delayed_dir_index()
1636 btrfs_delayed_item_release_metadata(dir->root, item); in btrfs_delete_delayed_dir_index()
1857 struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; in btrfs_fill_inode()
1915 struct btrfs_root *root, in btrfs_delayed_update_inode() argument
1932 ret = btrfs_delayed_inode_reserve_metadata(trans, root, delayed_node); in btrfs_delayed_update_inode()
1939 atomic_inc(&root->fs_info->delayed_root->items); in btrfs_delayed_update_inode()
1948 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_delayed_delete_inode_ref()
1992 struct btrfs_root *root = delayed_node->root; in __btrfs_kill_delayed_node() local
1993 struct btrfs_fs_info *fs_info = root->fs_info; in __btrfs_kill_delayed_node()
2012 btrfs_delayed_item_release_metadata(root, curr_item); in __btrfs_kill_delayed_node()
2039 void btrfs_kill_all_delayed_nodes(struct btrfs_root *root) in btrfs_kill_all_delayed_nodes() argument
2046 spin_lock(&root->inode_lock); in btrfs_kill_all_delayed_nodes()
2047 n = radix_tree_gang_lookup(&root->delayed_nodes_tree, in btrfs_kill_all_delayed_nodes()
2051 spin_unlock(&root->inode_lock); in btrfs_kill_all_delayed_nodes()
2064 spin_unlock(&root->inode_lock); in btrfs_kill_all_delayed_nodes()