Lines Matching refs:root
40 struct btrfs_root *root, u64 inode_id) in btrfs_init_delayed_node() argument
42 delayed_node->root = root; in btrfs_init_delayed_node()
67 struct btrfs_root *root = btrfs_inode->root; in btrfs_get_delayed_node() local
77 spin_lock(&root->inode_lock); in btrfs_get_delayed_node()
78 node = radix_tree_lookup(&root->delayed_nodes_tree, ino); in btrfs_get_delayed_node()
84 spin_unlock(&root->inode_lock); in btrfs_get_delayed_node()
111 spin_unlock(&root->inode_lock); in btrfs_get_delayed_node()
114 spin_unlock(&root->inode_lock); in btrfs_get_delayed_node()
124 struct btrfs_root *root = btrfs_inode->root; in btrfs_get_or_create_delayed_node() local
136 btrfs_init_delayed_node(node, root, ino); in btrfs_get_or_create_delayed_node()
147 spin_lock(&root->inode_lock); in btrfs_get_or_create_delayed_node()
148 ret = radix_tree_insert(&root->delayed_nodes_tree, ino, node); in btrfs_get_or_create_delayed_node()
150 spin_unlock(&root->inode_lock); in btrfs_get_or_create_delayed_node()
156 spin_unlock(&root->inode_lock); in btrfs_get_or_create_delayed_node()
167 static void btrfs_queue_delayed_node(struct btrfs_delayed_root *root, in btrfs_queue_delayed_node() argument
171 spin_lock(&root->lock); in btrfs_queue_delayed_node()
174 list_move_tail(&node->p_list, &root->prepare_list); in btrfs_queue_delayed_node()
176 list_add_tail(&node->p_list, &root->prepare_list); in btrfs_queue_delayed_node()
178 list_add_tail(&node->n_list, &root->node_list); in btrfs_queue_delayed_node()
179 list_add_tail(&node->p_list, &root->prepare_list); in btrfs_queue_delayed_node()
181 root->nodes++; in btrfs_queue_delayed_node()
184 spin_unlock(&root->lock); in btrfs_queue_delayed_node()
188 static void btrfs_dequeue_delayed_node(struct btrfs_delayed_root *root, in btrfs_dequeue_delayed_node() argument
191 spin_lock(&root->lock); in btrfs_dequeue_delayed_node()
193 root->nodes--; in btrfs_dequeue_delayed_node()
200 spin_unlock(&root->lock); in btrfs_dequeue_delayed_node()
229 delayed_root = node->root->fs_info->delayed_root; in btrfs_next_delayed_node()
258 delayed_root = delayed_node->root->fs_info->delayed_root; in __btrfs_release_delayed_node()
268 struct btrfs_root *root = delayed_node->root; in __btrfs_release_delayed_node() local
270 spin_lock(&root->inode_lock); in __btrfs_release_delayed_node()
276 radix_tree_delete(&root->delayed_nodes_tree, in __btrfs_release_delayed_node()
278 spin_unlock(&root->inode_lock); in __btrfs_release_delayed_node()
339 struct rb_root *root, in __btrfs_lookup_delayed_item() argument
348 node = root->rb_node; in __btrfs_lookup_delayed_item()
403 struct rb_root *root; in __btrfs_add_delayed_item() local
408 root = &delayed_node->ins_root; in __btrfs_add_delayed_item()
410 root = &delayed_node->del_root; in __btrfs_add_delayed_item()
413 p = &root->rb_node; in __btrfs_add_delayed_item()
431 rb_insert_color(node, root); in __btrfs_add_delayed_item()
441 atomic_inc(&delayed_node->root->fs_info->delayed_root->items); in __btrfs_add_delayed_item()
471 struct rb_root *root; in __btrfs_remove_delayed_item() local
474 delayed_root = delayed_item->delayed_node->root->fs_info->delayed_root; in __btrfs_remove_delayed_item()
481 root = &delayed_item->delayed_node->ins_root; in __btrfs_remove_delayed_item()
483 root = &delayed_item->delayed_node->del_root; in __btrfs_remove_delayed_item()
485 rb_erase(&delayed_item->rb_node, root); in __btrfs_remove_delayed_item()
540 struct btrfs_root *root, in btrfs_delayed_item_reserve_metadata() argument
545 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_delayed_item_reserve_metadata()
573 static void btrfs_delayed_item_release_metadata(struct btrfs_root *root, in btrfs_delayed_item_release_metadata() argument
577 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_delayed_item_release_metadata()
596 struct btrfs_root *root, in btrfs_delayed_inode_reserve_metadata() argument
600 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_delayed_inode_reserve_metadata()
622 ret = btrfs_qgroup_reserve_meta_prealloc(root, in btrfs_delayed_inode_reserve_metadata()
626 ret = btrfs_block_rsv_add(root, dst_rsv, num_bytes, in btrfs_delayed_inode_reserve_metadata()
636 btrfs_qgroup_free_meta_prealloc(root, num_bytes); in btrfs_delayed_inode_reserve_metadata()
645 btrfs_qgroup_free_meta_prealloc(root, fs_info->nodesize); in btrfs_delayed_inode_reserve_metadata()
675 btrfs_qgroup_free_meta_prealloc(node->root, in btrfs_delayed_inode_release_metadata()
678 btrfs_qgroup_convert_reserved_meta(node->root, in btrfs_delayed_inode_release_metadata()
687 static int btrfs_batch_insert_items(struct btrfs_root *root, in btrfs_batch_insert_items() argument
691 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_batch_insert_items()
769 setup_items_for_insert(root, path, keys, data_size, in btrfs_batch_insert_items()
781 btrfs_delayed_item_release_metadata(root, curr); in btrfs_batch_insert_items()
799 struct btrfs_root *root, in btrfs_insert_delayed_item() argument
807 ret = btrfs_insert_empty_item(trans, root, path, &delayed_item->key, in btrfs_insert_delayed_item()
820 btrfs_delayed_item_release_metadata(root, delayed_item); in btrfs_insert_delayed_item()
830 struct btrfs_root *root, in btrfs_insert_delayed_items() argument
842 ret = btrfs_insert_delayed_item(trans, root, path, curr); in btrfs_insert_delayed_items()
853 btrfs_batch_insert_items(root, path, curr); in btrfs_insert_delayed_items()
868 struct btrfs_root *root, in btrfs_batch_delete_items() argument
916 ret = btrfs_del_items(trans, root, path, path->slots[0], nitems); in btrfs_batch_delete_items()
921 btrfs_delayed_item_release_metadata(root, curr); in btrfs_batch_delete_items()
932 struct btrfs_root *root, in btrfs_delete_delayed_items() argument
944 ret = btrfs_search_slot(trans, root, &curr->key, path, -1, 1); in btrfs_delete_delayed_items()
964 btrfs_batch_delete_items(trans, root, path, curr); in btrfs_delete_delayed_items()
981 BUG_ON(!delayed_node->root); in btrfs_release_delayed_inode()
985 delayed_root = delayed_node->root->fs_info->delayed_root; in btrfs_release_delayed_inode()
994 ASSERT(delayed_node->root); in btrfs_release_delayed_iref()
998 delayed_root = delayed_node->root->fs_info->delayed_root; in btrfs_release_delayed_iref()
1003 struct btrfs_root *root, in __btrfs_update_delayed_inode() argument
1007 struct btrfs_fs_info *fs_info = root->fs_info; in __btrfs_update_delayed_inode()
1023 ret = btrfs_lookup_inode(trans, root, path, &key, mod); in __btrfs_update_delayed_inode()
1058 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()
1212 trans->block_rsv = &delayed_node->root->fs_info->delayed_block_rsv; in btrfs_commit_inode_delayed_items()
1225 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_commit_inode_delayed_inode()
1243 trans = btrfs_join_transaction(delayed_node->root); in btrfs_commit_inode_delayed_inode()
1261 ret = __btrfs_update_delayed_inode(trans, delayed_node->root, in btrfs_commit_inode_delayed_inode()
1303 struct btrfs_root *root; in btrfs_async_run_delayed_root() local
1324 root = delayed_node->root; in btrfs_async_run_delayed_root()
1326 trans = btrfs_join_transaction(root); in btrfs_async_run_delayed_root()
1335 trans->block_rsv = &root->fs_info->delayed_block_rsv; in btrfs_async_run_delayed_root()
1341 btrfs_btree_balance_dirty_nodelay(root->fs_info); in btrfs_async_run_delayed_root()
1453 ret = btrfs_delayed_item_reserve_metadata(trans, dir->root, delayed_item); in btrfs_insert_delayed_dir_index()
1465 name_len, name, delayed_node->root->objectid, in btrfs_insert_delayed_dir_index()
1489 btrfs_delayed_item_release_metadata(node->root, item); in btrfs_delete_delayed_insertion_item()
1524 ret = btrfs_delayed_item_reserve_metadata(trans, dir->root, item); in btrfs_delete_delayed_dir_index()
1536 index, node->root->objectid, node->inode_id, ret); in btrfs_delete_delayed_dir_index()
1806 struct btrfs_root *root, struct inode *inode) in btrfs_delayed_update_inode() argument
1821 ret = btrfs_delayed_inode_reserve_metadata(trans, root, BTRFS_I(inode), in btrfs_delayed_update_inode()
1829 atomic_inc(&root->fs_info->delayed_root->items); in btrfs_delayed_update_inode()
1838 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_delayed_delete_inode_ref()
1882 struct btrfs_root *root = delayed_node->root; in __btrfs_kill_delayed_node() local
1883 struct btrfs_fs_info *fs_info = root->fs_info; in __btrfs_kill_delayed_node()
1889 btrfs_delayed_item_release_metadata(root, curr_item); in __btrfs_kill_delayed_node()
1897 btrfs_delayed_item_release_metadata(root, curr_item); in __btrfs_kill_delayed_node()
1925 void btrfs_kill_all_delayed_nodes(struct btrfs_root *root) in btrfs_kill_all_delayed_nodes() argument
1932 spin_lock(&root->inode_lock); in btrfs_kill_all_delayed_nodes()
1933 n = radix_tree_gang_lookup(&root->delayed_nodes_tree, in btrfs_kill_all_delayed_nodes()
1937 spin_unlock(&root->inode_lock); in btrfs_kill_all_delayed_nodes()
1945 spin_unlock(&root->inode_lock); in btrfs_kill_all_delayed_nodes()