Lines Matching refs:edge

3070 	struct btrfs_backref_edge *edge;  in btrfs_backref_alloc_edge()  local
3072 edge = kzalloc(sizeof(*edge), GFP_NOFS); in btrfs_backref_alloc_edge()
3073 if (edge) in btrfs_backref_alloc_edge()
3075 return edge; in btrfs_backref_alloc_edge()
3079 struct btrfs_backref_edge *edge) in btrfs_backref_free_edge() argument
3081 if (edge) { in btrfs_backref_free_edge()
3083 kfree(edge); in btrfs_backref_free_edge()
3135 struct btrfs_backref_edge *edge; in btrfs_backref_cleanup_node() local
3142 edge = list_entry(node->upper.next, struct btrfs_backref_edge, in btrfs_backref_cleanup_node()
3144 upper = edge->node[UPPER]; in btrfs_backref_cleanup_node()
3145 list_del(&edge->list[LOWER]); in btrfs_backref_cleanup_node()
3146 list_del(&edge->list[UPPER]); in btrfs_backref_cleanup_node()
3147 btrfs_backref_free_edge(cache, edge); in btrfs_backref_cleanup_node()
3199 void btrfs_backref_link_edge(struct btrfs_backref_edge *edge, in btrfs_backref_link_edge() argument
3205 edge->node[LOWER] = lower; in btrfs_backref_link_edge()
3206 edge->node[UPPER] = upper; in btrfs_backref_link_edge()
3208 list_add_tail(&edge->list[LOWER], &lower->upper); in btrfs_backref_link_edge()
3210 list_add_tail(&edge->list[UPPER], &upper->lower); in btrfs_backref_link_edge()
3228 struct btrfs_backref_edge *edge; in handle_direct_tree_backref() local
3255 edge = btrfs_backref_alloc_edge(cache); in handle_direct_tree_backref()
3256 if (!edge) in handle_direct_tree_backref()
3265 btrfs_backref_free_edge(cache, edge); in handle_direct_tree_backref()
3273 list_add_tail(&edge->list[UPPER], &cache->pending_edge); in handle_direct_tree_backref()
3278 INIT_LIST_HEAD(&edge->list[UPPER]); in handle_direct_tree_backref()
3280 btrfs_backref_link_edge(edge, cur, upper, LINK_LOWER); in handle_direct_tree_backref()
3307 struct btrfs_backref_edge *edge; in handle_indirect_tree_backref() local
3386 edge = btrfs_backref_alloc_edge(cache); in handle_indirect_tree_backref()
3387 if (!edge) { in handle_indirect_tree_backref()
3400 btrfs_backref_free_edge(cache, edge); in handle_indirect_tree_backref()
3424 list_add_tail(&edge->list[UPPER], in handle_indirect_tree_backref()
3429 INIT_LIST_HEAD(&edge->list[UPPER]); in handle_indirect_tree_backref()
3435 INIT_LIST_HEAD(&edge->list[UPPER]); in handle_indirect_tree_backref()
3439 btrfs_backref_link_edge(edge, lower, upper, LINK_LOWER); in handle_indirect_tree_backref()
3472 struct btrfs_backref_edge *edge; in btrfs_backref_add_tree_node() local
3500 edge = list_entry(cur->upper.next, struct btrfs_backref_edge, in btrfs_backref_add_tree_node()
3502 ASSERT(list_empty(&edge->list[UPPER])); in btrfs_backref_add_tree_node()
3503 exist = edge->node[UPPER]; in btrfs_backref_add_tree_node()
3509 list_add_tail(&edge->list[UPPER], &cache->pending_edge); in btrfs_backref_add_tree_node()
3591 struct btrfs_backref_edge *edge; in btrfs_backref_finish_upper_links() local
3612 list_for_each_entry(edge, &start->upper, list[LOWER]) in btrfs_backref_finish_upper_links()
3613 list_add_tail(&edge->list[UPPER], &pending_edge); in btrfs_backref_finish_upper_links()
3619 edge = list_first_entry(&pending_edge, in btrfs_backref_finish_upper_links()
3621 list_del_init(&edge->list[UPPER]); in btrfs_backref_finish_upper_links()
3622 upper = edge->node[UPPER]; in btrfs_backref_finish_upper_links()
3623 lower = edge->node[LOWER]; in btrfs_backref_finish_upper_links()
3627 list_del(&edge->list[LOWER]); in btrfs_backref_finish_upper_links()
3628 btrfs_backref_free_edge(cache, edge); in btrfs_backref_finish_upper_links()
3649 list_add_tail(&edge->list[UPPER], &upper->lower); in btrfs_backref_finish_upper_links()
3676 list_add_tail(&edge->list[UPPER], &upper->lower); in btrfs_backref_finish_upper_links()
3682 list_for_each_entry(edge, &upper->upper, list[LOWER]) in btrfs_backref_finish_upper_links()
3683 list_add_tail(&edge->list[UPPER], &pending_edge); in btrfs_backref_finish_upper_links()
3693 struct btrfs_backref_edge *edge; in btrfs_backref_error_cleanup() local
3701 edge = list_first_entry(&cache->pending_edge, in btrfs_backref_error_cleanup()
3703 list_del(&edge->list[UPPER]); in btrfs_backref_error_cleanup()
3704 list_del(&edge->list[LOWER]); in btrfs_backref_error_cleanup()
3705 lower = edge->node[LOWER]; in btrfs_backref_error_cleanup()
3706 upper = edge->node[UPPER]; in btrfs_backref_error_cleanup()
3707 btrfs_backref_free_edge(cache, edge); in btrfs_backref_error_cleanup()
3721 list_for_each_entry(edge, &upper->upper, list[LOWER]) in btrfs_backref_error_cleanup()
3722 list_add_tail(&edge->list[UPPER], in btrfs_backref_error_cleanup()