Lines Matching refs:root
55 struct btrfs_root *root, u64 inode_id) in btrfs_init_delayed_node() argument
57 delayed_node->root = root; in btrfs_init_delayed_node()
70 struct btrfs_root *root = btrfs_inode->root; in btrfs_get_delayed_node() local
80 xa_lock(&root->delayed_nodes); in btrfs_get_delayed_node()
81 node = xa_load(&root->delayed_nodes, ino); in btrfs_get_delayed_node()
87 xa_unlock(&root->delayed_nodes); in btrfs_get_delayed_node()
114 xa_unlock(&root->delayed_nodes); in btrfs_get_delayed_node()
117 xa_unlock(&root->delayed_nodes); in btrfs_get_delayed_node()
132 struct btrfs_root *root = btrfs_inode->root; in btrfs_get_or_create_delayed_node() local
145 btrfs_init_delayed_node(node, root, ino); in btrfs_get_or_create_delayed_node()
151 ret = xa_reserve(&root->delayed_nodes, ino, GFP_NOFS); in btrfs_get_or_create_delayed_node()
156 xa_lock(&root->delayed_nodes); in btrfs_get_or_create_delayed_node()
157 ptr = xa_load(&root->delayed_nodes, ino); in btrfs_get_or_create_delayed_node()
160 xa_unlock(&root->delayed_nodes); in btrfs_get_or_create_delayed_node()
165 ptr = __xa_store(&root->delayed_nodes, ino, node, GFP_ATOMIC); in btrfs_get_or_create_delayed_node()
170 xa_unlock(&root->delayed_nodes); in btrfs_get_or_create_delayed_node()
180 static void btrfs_queue_delayed_node(struct btrfs_delayed_root *root, in btrfs_queue_delayed_node() argument
184 spin_lock(&root->lock); in btrfs_queue_delayed_node()
187 list_move_tail(&node->p_list, &root->prepare_list); in btrfs_queue_delayed_node()
189 list_add_tail(&node->p_list, &root->prepare_list); in btrfs_queue_delayed_node()
191 list_add_tail(&node->n_list, &root->node_list); in btrfs_queue_delayed_node()
192 list_add_tail(&node->p_list, &root->prepare_list); in btrfs_queue_delayed_node()
194 root->nodes++; in btrfs_queue_delayed_node()
197 spin_unlock(&root->lock); in btrfs_queue_delayed_node()
201 static void btrfs_dequeue_delayed_node(struct btrfs_delayed_root *root, in btrfs_dequeue_delayed_node() argument
204 spin_lock(&root->lock); in btrfs_dequeue_delayed_node()
206 root->nodes--; in btrfs_dequeue_delayed_node()
213 spin_unlock(&root->lock); in btrfs_dequeue_delayed_node()
238 delayed_root = node->root->fs_info->delayed_root; in btrfs_next_delayed_node()
267 delayed_root = delayed_node->root->fs_info->delayed_root; in __btrfs_release_delayed_node()
277 struct btrfs_root *root = delayed_node->root; in __btrfs_release_delayed_node() local
279 xa_erase(&root->delayed_nodes, delayed_node->inode_id); in __btrfs_release_delayed_node()
361 struct rb_root *root, in __btrfs_lookup_delayed_item() argument
366 node = rb_find(&index, root, delayed_item_index_cmp); in __btrfs_lookup_delayed_item()
382 struct rb_root_cached *root; in __btrfs_add_delayed_item() local
386 root = &delayed_node->ins_root; in __btrfs_add_delayed_item()
388 root = &delayed_node->del_root; in __btrfs_add_delayed_item()
390 exist = rb_find_add_cached(&ins->rb_node, root, btrfs_delayed_item_cmp); in __btrfs_add_delayed_item()
399 atomic_inc(&delayed_node->root->fs_info->delayed_root->items); in __btrfs_add_delayed_item()
416 struct rb_root_cached *root; in __btrfs_remove_delayed_item() local
426 delayed_root = delayed_node->root->fs_info->delayed_root; in __btrfs_remove_delayed_item()
429 root = &delayed_node->ins_root; in __btrfs_remove_delayed_item()
431 root = &delayed_node->del_root; in __btrfs_remove_delayed_item()
433 rb_erase_cached(&delayed_item->rb_node, root); in __btrfs_remove_delayed_item()
512 static void btrfs_delayed_item_release_metadata(struct btrfs_root *root, in btrfs_delayed_item_release_metadata() argument
516 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_delayed_item_release_metadata()
535 struct btrfs_fs_info *fs_info = node->root->fs_info; in btrfs_delayed_item_release_leaves()
549 struct btrfs_root *root, in btrfs_delayed_inode_reserve_metadata() argument
552 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_delayed_inode_reserve_metadata()
574 ret = btrfs_qgroup_reserve_meta(root, num_bytes, in btrfs_delayed_inode_reserve_metadata()
583 btrfs_qgroup_free_meta_prealloc(root, num_bytes); in btrfs_delayed_inode_reserve_metadata()
611 btrfs_qgroup_free_meta_prealloc(node->root, in btrfs_delayed_inode_release_metadata()
614 btrfs_qgroup_convert_reserved_meta(node->root, in btrfs_delayed_inode_release_metadata()
630 struct btrfs_root *root, in btrfs_insert_delayed_item() argument
634 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_insert_delayed_item()
733 ret = btrfs_insert_empty_items(trans, root, path, &batch); in btrfs_insert_delayed_item()
797 struct btrfs_root *root, in btrfs_insert_delayed_items() argument
811 ret = btrfs_insert_delayed_item(trans, root, path, curr); in btrfs_insert_delayed_items()
819 struct btrfs_root *root, in btrfs_batch_delete_items() argument
824 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_batch_delete_items()
872 ret = btrfs_del_items(trans, root, path, path->slots[0], nitems); in btrfs_batch_delete_items()
898 struct btrfs_root *root, in btrfs_delete_delayed_items() argument
918 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_delete_delayed_items()
938 ret = btrfs_batch_delete_items(trans, root, path, item); in btrfs_delete_delayed_items()
961 ASSERT(delayed_node->root); in btrfs_release_delayed_inode()
965 delayed_root = delayed_node->root->fs_info->delayed_root; in btrfs_release_delayed_inode()
976 ASSERT(delayed_node->root); in btrfs_release_delayed_iref()
979 delayed_root = delayed_node->root->fs_info->delayed_root; in btrfs_release_delayed_iref()
985 struct btrfs_root *root, in __btrfs_update_delayed_inode() argument
989 struct btrfs_fs_info *fs_info = root->fs_info; in __btrfs_update_delayed_inode()
1005 ret = btrfs_lookup_inode(trans, root, path, &key, mod); in __btrfs_update_delayed_inode()
1041 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in __btrfs_update_delayed_inode()
1066 ret = btrfs_del_item(trans, root, path); in __btrfs_update_delayed_inode()
1079 struct btrfs_root *root, in btrfs_update_delayed_inode() argument
1091 ret = __btrfs_update_delayed_inode(trans, root, path, node); in btrfs_update_delayed_inode()
1103 ret = btrfs_insert_delayed_items(trans, path, node->root, node); in __btrfs_commit_inode_delayed_items()
1107 ret = btrfs_delete_delayed_items(trans, path, node->root, node); in __btrfs_commit_inode_delayed_items()
1111 ret = btrfs_record_root_in_trans(trans, node->root); in __btrfs_commit_inode_delayed_items()
1114 ret = btrfs_update_delayed_inode(trans, node->root, path, node); in __btrfs_commit_inode_delayed_items()
1219 trans->block_rsv = &delayed_node->root->fs_info->delayed_block_rsv; in btrfs_commit_inode_delayed_items()
1231 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_commit_inode_delayed_inode()
1249 trans = btrfs_join_transaction(delayed_node->root); in btrfs_commit_inode_delayed_inode()
1266 ret = __btrfs_update_delayed_inode(trans, delayed_node->root, in btrfs_commit_inode_delayed_inode()
1308 struct btrfs_root *root; in btrfs_async_run_delayed_root() local
1328 root = delayed_node->root; in btrfs_async_run_delayed_root()
1330 trans = btrfs_join_transaction(root); in btrfs_async_run_delayed_root()
1339 trans->block_rsv = &root->fs_info->delayed_block_rsv; in btrfs_async_run_delayed_root()
1345 btrfs_btree_balance_dirty_nodelay(root->fs_info); in btrfs_async_run_delayed_root()
1501 name_len, name, index, btrfs_root_id(delayed_node->root), in btrfs_insert_delayed_dir_index()
1622 index, btrfs_root_id(node->root), node->inode_id, ret); in btrfs_delete_delayed_dir_index()
1632 index, btrfs_root_id(node->root), node->inode_id, ret); in btrfs_delete_delayed_dir_index()
1633 btrfs_delayed_item_release_metadata(dir->root, item); in btrfs_delete_delayed_dir_index()
1846 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_fill_inode()
1905 struct btrfs_root *root = inode->root; in btrfs_delayed_update_inode() local
1919 ret = btrfs_delayed_inode_reserve_metadata(trans, root, delayed_node); in btrfs_delayed_update_inode()
1926 atomic_inc(&root->fs_info->delayed_root->items); in btrfs_delayed_update_inode()
1935 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_delayed_delete_inode_ref()
1979 struct btrfs_root *root = delayed_node->root; in __btrfs_kill_delayed_node() local
1980 struct btrfs_fs_info *fs_info = root->fs_info; in __btrfs_kill_delayed_node()
1999 btrfs_delayed_item_release_metadata(root, curr_item); in __btrfs_kill_delayed_node()
2026 void btrfs_kill_all_delayed_nodes(struct btrfs_root *root) in btrfs_kill_all_delayed_nodes() argument
2035 xa_lock(&root->delayed_nodes); in btrfs_kill_all_delayed_nodes()
2036 if (xa_empty(&root->delayed_nodes)) { in btrfs_kill_all_delayed_nodes()
2037 xa_unlock(&root->delayed_nodes); in btrfs_kill_all_delayed_nodes()
2042 xa_for_each_start(&root->delayed_nodes, index, node, index) { in btrfs_kill_all_delayed_nodes()
2054 xa_unlock(&root->delayed_nodes); in btrfs_kill_all_delayed_nodes()