Lines Matching refs:node

633 		root_level = btrfs_header_level(root->node);  in resolve_indirect_ref()
696 unode_aux_to_inode_list(struct ulist_node *node) in unode_aux_to_inode_list() argument
698 if (!node) in unode_aux_to_inode_list()
700 return (struct extent_inode_elem *)(uintptr_t)node->aux; in unode_aux_to_inode_list()
705 struct ulist_node *node; in free_leaf_list() local
709 while ((node = ulist_next(ulist, &uiter))) in free_leaf_list()
710 free_inode_elem_list(unode_aux_to_inode_list(node)); in free_leaf_list()
739 struct ulist_node *node; in resolve_indirect_refs() local
793 node = ulist_next(parents, &uiter); in resolve_indirect_refs()
794 ref->parent = node ? node->val : 0; in resolve_indirect_refs()
795 ref->inode_list = unode_aux_to_inode_list(node); in resolve_indirect_refs()
798 while ((node = ulist_next(parents, &uiter))) { in resolve_indirect_refs()
809 new_ref->parent = node->val; in resolve_indirect_refs()
810 new_ref->inode_list = unode_aux_to_inode_list(node); in resolve_indirect_refs()
842 struct rb_node *node; in add_missing_keys() local
844 while ((node = rb_first_cached(&tree->root))) { in add_missing_keys()
847 ref = rb_entry(node, struct prelim_ref, rbnode); in add_missing_keys()
848 rb_erase_cached(node, &tree->root); in add_missing_keys()
891 struct btrfs_delayed_ref_node *node; in add_delayed_refs() local
899 node = rb_entry(n, struct btrfs_delayed_ref_node, in add_delayed_refs()
901 if (node->seq > seq) in add_delayed_refs()
904 switch (node->action) { in add_delayed_refs()
910 count = node->ref_mod; in add_delayed_refs()
913 count = node->ref_mod * -1; in add_delayed_refs()
918 switch (node->type) { in add_delayed_refs()
923 int level = btrfs_delayed_ref_owner(node); in add_delayed_refs()
930 ret = add_indirect_ref(fs_info, preftrees, node->ref_root, in add_delayed_refs()
931 key_ptr, level + 1, node->bytenr, in add_delayed_refs()
941 int level = btrfs_delayed_ref_owner(node); in add_delayed_refs()
944 node->parent, node->bytenr, count, in add_delayed_refs()
950 key.objectid = btrfs_delayed_ref_owner(node); in add_delayed_refs()
952 key.offset = btrfs_delayed_ref_offset(node); in add_delayed_refs()
972 ret = add_indirect_ref(fs_info, preftrees, node->ref_root, in add_delayed_refs()
973 &key, 0, node->bytenr, count, sc, in add_delayed_refs()
979 ret = add_direct_ref(fs_info, preftrees, 0, node->parent, in add_delayed_refs()
980 node->bytenr, count, sc, in add_delayed_refs()
1389 struct rb_node *node; in find_parent_nodes() local
1583 node = rb_first_cached(&preftrees.direct.root); in find_parent_nodes()
1584 while (node) { in find_parent_nodes()
1585 ref = rb_entry(node, struct prelim_ref, rbnode); in find_parent_nodes()
1586 node = rb_next(&ref->rbnode); in find_parent_nodes()
1766 struct ulist_node *node; in btrfs_find_all_roots_safe() local
1777 node = ulist_next(ctx->refs, &uiter); in btrfs_find_all_roots_safe()
1778 if (!node) in btrfs_find_all_roots_safe()
1780 ctx->bytenr = node->val; in btrfs_find_all_roots_safe()
1856 struct ulist_node *node; in btrfs_is_data_extent_shared() local
1972 node = ulist_next(&ctx->refs, &uiter); in btrfs_is_data_extent_shared()
1973 if (!node) in btrfs_is_data_extent_shared()
1975 bytenr = node->val; in btrfs_is_data_extent_shared()
3033 struct btrfs_backref_node *node; in btrfs_backref_alloc_node() local
3036 node = kzalloc(sizeof(*node), GFP_NOFS); in btrfs_backref_alloc_node()
3037 if (!node) in btrfs_backref_alloc_node()
3038 return node; in btrfs_backref_alloc_node()
3040 INIT_LIST_HEAD(&node->list); in btrfs_backref_alloc_node()
3041 INIT_LIST_HEAD(&node->upper); in btrfs_backref_alloc_node()
3042 INIT_LIST_HEAD(&node->lower); in btrfs_backref_alloc_node()
3043 RB_CLEAR_NODE(&node->rb_node); in btrfs_backref_alloc_node()
3045 node->level = level; in btrfs_backref_alloc_node()
3046 node->bytenr = bytenr; in btrfs_backref_alloc_node()
3048 return node; in btrfs_backref_alloc_node()
3052 struct btrfs_backref_node *node) in btrfs_backref_free_node() argument
3054 if (node) { in btrfs_backref_free_node()
3055 ASSERT(list_empty(&node->list)); in btrfs_backref_free_node()
3056 ASSERT(list_empty(&node->lower)); in btrfs_backref_free_node()
3057 ASSERT(node->eb == NULL); in btrfs_backref_free_node()
3059 btrfs_put_root(node->root); in btrfs_backref_free_node()
3060 kfree(node); in btrfs_backref_free_node()
3084 void btrfs_backref_unlock_node_buffer(struct btrfs_backref_node *node) in btrfs_backref_unlock_node_buffer() argument
3086 if (node->locked) { in btrfs_backref_unlock_node_buffer()
3087 btrfs_tree_unlock(node->eb); in btrfs_backref_unlock_node_buffer()
3088 node->locked = 0; in btrfs_backref_unlock_node_buffer()
3092 void btrfs_backref_drop_node_buffer(struct btrfs_backref_node *node) in btrfs_backref_drop_node_buffer() argument
3094 if (node->eb) { in btrfs_backref_drop_node_buffer()
3095 btrfs_backref_unlock_node_buffer(node); in btrfs_backref_drop_node_buffer()
3096 free_extent_buffer(node->eb); in btrfs_backref_drop_node_buffer()
3097 node->eb = NULL; in btrfs_backref_drop_node_buffer()
3109 struct btrfs_backref_node *node) in btrfs_backref_drop_node() argument
3111 ASSERT(list_empty(&node->upper)); in btrfs_backref_drop_node()
3113 btrfs_backref_drop_node_buffer(node); in btrfs_backref_drop_node()
3114 list_del_init(&node->list); in btrfs_backref_drop_node()
3115 list_del_init(&node->lower); in btrfs_backref_drop_node()
3116 if (!RB_EMPTY_NODE(&node->rb_node)) in btrfs_backref_drop_node()
3117 rb_erase(&node->rb_node, &tree->rb_root); in btrfs_backref_drop_node()
3118 btrfs_backref_free_node(tree, node); in btrfs_backref_drop_node()
3129 struct btrfs_backref_node *node) in btrfs_backref_cleanup_node() argument
3133 if (!node) in btrfs_backref_cleanup_node()
3136 while (!list_empty(&node->upper)) { in btrfs_backref_cleanup_node()
3137 edge = list_entry(node->upper.next, struct btrfs_backref_edge, in btrfs_backref_cleanup_node()
3144 btrfs_backref_drop_node(cache, node); in btrfs_backref_cleanup_node()
3152 struct btrfs_backref_node *node; in btrfs_backref_release_cache() local
3154 while ((node = rb_entry_safe(rb_first(&cache->rb_root), in btrfs_backref_release_cache()
3156 btrfs_backref_cleanup_node(cache, node); in btrfs_backref_release_cache()
3170 edge->node[LOWER] = lower; in btrfs_backref_link_edge()
3171 edge->node[UPPER] = upper; in btrfs_backref_link_edge()
3479 exist = edge->node[UPPER]; in btrfs_backref_add_tree_node()
3592 upper = edge->node[UPPER]; in btrfs_backref_finish_upper_links()
3593 lower = edge->node[LOWER]; in btrfs_backref_finish_upper_links()
3644 struct btrfs_backref_node *node) in btrfs_backref_error_cleanup() argument
3660 lower = edge->node[LOWER]; in btrfs_backref_error_cleanup()
3661 upper = edge->node[UPPER]; in btrfs_backref_error_cleanup()
3687 if (lower == node) in btrfs_backref_error_cleanup()
3688 node = NULL; in btrfs_backref_error_cleanup()
3692 btrfs_backref_cleanup_node(cache, node); in btrfs_backref_error_cleanup()