Lines Matching refs:node
87 struct ref_node *node; in ref_root_fini() local
91 node = rb_entry(next, struct ref_node, rb_node); in ref_root_fini()
93 kfree(node); in ref_root_fini()
214 static void ref_tree_remove(struct ref_root *ref_tree, struct ref_node *node) in ref_tree_remove() argument
216 rb_erase(&node->rb_node, &ref_tree->rb_root); in ref_tree_remove()
217 kfree(node); in ref_tree_remove()
249 struct ref_node *node = NULL; in ref_tree_add() local
258 node = __ref_tree_search(ref_tree, &pos, &pos_parent, root_id, in ref_tree_add()
260 if (node == NULL) { in ref_tree_add()
261 node = kmalloc(sizeof(*node), GFP_NOFS); in ref_tree_add()
262 if (!node) in ref_tree_add()
265 node->root_id = root_id; in ref_tree_add()
266 node->object_id = object_id; in ref_tree_add()
267 node->offset = offset; in ref_tree_add()
268 node->parent = parent; in ref_tree_add()
269 node->ref_mod = count; in ref_tree_add()
271 ret = ref_tree_insert(ref_tree, pos, pos_parent, node); in ref_tree_add()
274 kfree(node); in ref_tree_add()
278 ref_tree->unique_refs += node->ref_mod > 0 ? 1 : 0; in ref_tree_add()
283 origin_count = node->ref_mod; in ref_tree_add()
284 node->ref_mod += count; in ref_tree_add()
286 if (node->ref_mod > 0) in ref_tree_add()
288 else if (node->ref_mod <= 0) in ref_tree_add()
291 if (!node->ref_mod) in ref_tree_add()
292 ref_tree_remove(ref_tree, node); in ref_tree_add()
633 root_level = btrfs_header_level(root->node); in __resolve_indirect_ref()
694 struct ulist_node *node; in __resolve_indirect_refs() local
731 node = ulist_next(parents, &uiter); in __resolve_indirect_refs()
732 ref->parent = node ? node->val : 0; in __resolve_indirect_refs()
733 ref->inode_list = node ? in __resolve_indirect_refs()
734 (struct extent_inode_elem *)(uintptr_t)node->aux : NULL; in __resolve_indirect_refs()
737 while ((node = ulist_next(parents, &uiter))) { in __resolve_indirect_refs()
745 new_ref->parent = node->val; in __resolve_indirect_refs()
747 (uintptr_t)node->aux; in __resolve_indirect_refs()
866 struct btrfs_delayed_ref_node *node; in __add_delayed_refs() local
877 list_for_each_entry(node, &head->ref_list, list) { in __add_delayed_refs()
878 if (node->seq > seq) in __add_delayed_refs()
881 switch (node->action) { in __add_delayed_refs()
895 *total_refs += (node->ref_mod * sgn); in __add_delayed_refs()
896 switch (node->type) { in __add_delayed_refs()
900 ref = btrfs_delayed_node_to_tree_ref(node); in __add_delayed_refs()
902 ref->level + 1, 0, node->bytenr, in __add_delayed_refs()
903 node->ref_mod * sgn, GFP_ATOMIC); in __add_delayed_refs()
909 ref = btrfs_delayed_node_to_tree_ref(node); in __add_delayed_refs()
912 node->bytenr, in __add_delayed_refs()
913 node->ref_mod * sgn, GFP_ATOMIC); in __add_delayed_refs()
918 ref = btrfs_delayed_node_to_data_ref(node); in __add_delayed_refs()
934 node->bytenr, in __add_delayed_refs()
935 node->ref_mod * sgn, GFP_ATOMIC); in __add_delayed_refs()
941 ref = btrfs_delayed_node_to_data_ref(node); in __add_delayed_refs()
943 ref->parent, node->bytenr, in __add_delayed_refs()
944 node->ref_mod * sgn, GFP_ATOMIC); in __add_delayed_refs()
1291 atomic_inc(&head->node.refs);
1302 btrfs_put_delayed_ref(&head->node);
1470 struct ulist_node *node = NULL; local
1475 while ((node = ulist_next(blocks, &uiter))) {
1476 if (!node->aux)
1478 eie = (struct extent_inode_elem *)(uintptr_t)node->aux;
1480 node->aux = 0;
1533 struct ulist_node *node = NULL; local
1555 node = ulist_next(tmp, &uiter);
1556 if (!node)
1558 bytenr = node->val;
1600 struct ulist_node *node; local
1628 node = ulist_next(tmp, &uiter);
1629 if (!node)
1631 bytenr = node->val;