Lines Matching refs:node
175 /* List of upper level edges, which link this node to its parents */
177 /* List of lower level edges, which link this node to its children */
180 /* NULL if this node is not tree root */
188 /* 1 if no child node is in the cache */
201 /* 1 if the backref node isn't connected to any other backref node */
220 * node, and list[UPPER] is linked to btrfs_backref_node::lower of
221 * upper level node.
229 struct btrfs_backref_node *node[2];
242 /* List of backref nodes with no child node */
246 /* List of detached backref node. */
286 edge->node[LOWER] = lower;
287 edge->node[UPPER] = upper;
295 struct btrfs_backref_node *node)
297 if (node) {
298 ASSERT(list_empty(&node->list));
299 ASSERT(list_empty(&node->lower));
300 ASSERT(node->eb == NULL);
302 btrfs_put_root(node->root);
303 kfree(node);
317 struct btrfs_backref_node *node)
319 if (node->locked) {
320 btrfs_tree_unlock(node->eb);
321 node->locked = 0;
326 struct btrfs_backref_node *node)
328 if (node->eb) {
329 btrfs_backref_unlock_node_buffer(node);
330 free_extent_buffer(node->eb);
331 node->eb = NULL;
336 * Drop the backref node from cache without cleaning up its children
339 * This can only be called on node without parent edges.
343 struct btrfs_backref_node *node)
345 ASSERT(list_empty(&node->upper));
347 btrfs_backref_drop_node_buffer(node);
348 list_del_init(&node->list);
349 list_del_init(&node->lower);
350 if (!RB_EMPTY_NODE(&node->rb_node))
351 rb_erase(&node->rb_node, &tree->rb_root);
352 btrfs_backref_free_node(tree, node);
356 struct btrfs_backref_node *node);
378 struct btrfs_backref_node *node);