Lines Matching refs:edge
2743 struct btrfs_backref_edge *edge; in btrfs_backref_alloc_edge() local
2745 edge = kzalloc(sizeof(*edge), GFP_NOFS); in btrfs_backref_alloc_edge()
2746 if (edge) in btrfs_backref_alloc_edge()
2748 return edge; in btrfs_backref_alloc_edge()
2762 struct btrfs_backref_edge *edge; in btrfs_backref_cleanup_node() local
2769 edge = list_entry(node->upper.next, struct btrfs_backref_edge, in btrfs_backref_cleanup_node()
2771 upper = edge->node[UPPER]; in btrfs_backref_cleanup_node()
2772 list_del(&edge->list[LOWER]); in btrfs_backref_cleanup_node()
2773 list_del(&edge->list[UPPER]); in btrfs_backref_cleanup_node()
2774 btrfs_backref_free_edge(cache, edge); in btrfs_backref_cleanup_node()
2838 struct btrfs_backref_edge *edge; in handle_direct_tree_backref() local
2865 edge = btrfs_backref_alloc_edge(cache); in handle_direct_tree_backref()
2866 if (!edge) in handle_direct_tree_backref()
2875 btrfs_backref_free_edge(cache, edge); in handle_direct_tree_backref()
2883 list_add_tail(&edge->list[UPPER], &cache->pending_edge); in handle_direct_tree_backref()
2888 INIT_LIST_HEAD(&edge->list[UPPER]); in handle_direct_tree_backref()
2890 btrfs_backref_link_edge(edge, cur, upper, LINK_LOWER); in handle_direct_tree_backref()
2915 struct btrfs_backref_edge *edge; in handle_indirect_tree_backref() local
2994 edge = btrfs_backref_alloc_edge(cache); in handle_indirect_tree_backref()
2995 if (!edge) { in handle_indirect_tree_backref()
3008 btrfs_backref_free_edge(cache, edge); in handle_indirect_tree_backref()
3032 list_add_tail(&edge->list[UPPER], in handle_indirect_tree_backref()
3037 INIT_LIST_HEAD(&edge->list[UPPER]); in handle_indirect_tree_backref()
3043 INIT_LIST_HEAD(&edge->list[UPPER]); in handle_indirect_tree_backref()
3047 btrfs_backref_link_edge(edge, lower, upper, LINK_LOWER); in handle_indirect_tree_backref()
3079 struct btrfs_backref_edge *edge; in btrfs_backref_add_tree_node() local
3107 edge = list_entry(cur->upper.next, struct btrfs_backref_edge, in btrfs_backref_add_tree_node()
3109 ASSERT(list_empty(&edge->list[UPPER])); in btrfs_backref_add_tree_node()
3110 exist = edge->node[UPPER]; in btrfs_backref_add_tree_node()
3116 list_add_tail(&edge->list[UPPER], &cache->pending_edge); in btrfs_backref_add_tree_node()
3202 struct btrfs_backref_edge *edge; in btrfs_backref_finish_upper_links() local
3223 list_for_each_entry(edge, &start->upper, list[LOWER]) in btrfs_backref_finish_upper_links()
3224 list_add_tail(&edge->list[UPPER], &pending_edge); in btrfs_backref_finish_upper_links()
3230 edge = list_first_entry(&pending_edge, in btrfs_backref_finish_upper_links()
3232 list_del_init(&edge->list[UPPER]); in btrfs_backref_finish_upper_links()
3233 upper = edge->node[UPPER]; in btrfs_backref_finish_upper_links()
3234 lower = edge->node[LOWER]; in btrfs_backref_finish_upper_links()
3238 list_del(&edge->list[LOWER]); in btrfs_backref_finish_upper_links()
3239 btrfs_backref_free_edge(cache, edge); in btrfs_backref_finish_upper_links()
3260 list_add_tail(&edge->list[UPPER], &upper->lower); in btrfs_backref_finish_upper_links()
3287 list_add_tail(&edge->list[UPPER], &upper->lower); in btrfs_backref_finish_upper_links()
3293 list_for_each_entry(edge, &upper->upper, list[LOWER]) in btrfs_backref_finish_upper_links()
3294 list_add_tail(&edge->list[UPPER], &pending_edge); in btrfs_backref_finish_upper_links()
3304 struct btrfs_backref_edge *edge; in btrfs_backref_error_cleanup() local
3312 edge = list_first_entry(&cache->pending_edge, in btrfs_backref_error_cleanup()
3314 list_del(&edge->list[UPPER]); in btrfs_backref_error_cleanup()
3315 list_del(&edge->list[LOWER]); in btrfs_backref_error_cleanup()
3316 lower = edge->node[LOWER]; in btrfs_backref_error_cleanup()
3317 upper = edge->node[UPPER]; in btrfs_backref_error_cleanup()
3318 btrfs_backref_free_edge(cache, edge); in btrfs_backref_error_cleanup()
3332 list_for_each_entry(edge, &upper->upper, list[LOWER]) in btrfs_backref_error_cleanup()
3333 list_add_tail(&edge->list[UPPER], in btrfs_backref_error_cleanup()