Lines Matching refs:edge
3041 struct btrfs_backref_edge *edge;
3043 edge = kzalloc(sizeof(*edge), GFP_NOFS);
3044 if (edge)
3046 return edge;
3060 struct btrfs_backref_edge *edge;
3067 edge = list_entry(node->upper.next, struct btrfs_backref_edge,
3069 upper = edge->node[UPPER];
3070 list_del(&edge->list[LOWER]);
3071 list_del(&edge->list[UPPER]);
3072 btrfs_backref_free_edge(cache, edge);
3136 struct btrfs_backref_edge *edge;
3163 edge = btrfs_backref_alloc_edge(cache);
3164 if (!edge)
3173 btrfs_backref_free_edge(cache, edge);
3181 list_add_tail(&edge->list[UPPER], &cache->pending_edge);
3186 INIT_LIST_HEAD(&edge->list[UPPER]);
3188 btrfs_backref_link_edge(edge, cur, upper, LINK_LOWER);
3215 struct btrfs_backref_edge *edge;
3294 edge = btrfs_backref_alloc_edge(cache);
3295 if (!edge) {
3308 btrfs_backref_free_edge(cache, edge);
3332 list_add_tail(&edge->list[UPPER],
3337 INIT_LIST_HEAD(&edge->list[UPPER]);
3343 INIT_LIST_HEAD(&edge->list[UPPER]);
3347 btrfs_backref_link_edge(edge, lower, upper, LINK_LOWER);
3380 struct btrfs_backref_edge *edge;
3408 edge = list_entry(cur->upper.next, struct btrfs_backref_edge,
3410 ASSERT(list_empty(&edge->list[UPPER]));
3411 exist = edge->node[UPPER];
3417 list_add_tail(&edge->list[UPPER], &cache->pending_edge);
3499 struct btrfs_backref_edge *edge;
3520 list_for_each_entry(edge, &start->upper, list[LOWER])
3521 list_add_tail(&edge->list[UPPER], &pending_edge);
3527 edge = list_first_entry(&pending_edge,
3529 list_del_init(&edge->list[UPPER]);
3530 upper = edge->node[UPPER];
3531 lower = edge->node[LOWER];
3535 list_del(&edge->list[LOWER]);
3536 btrfs_backref_free_edge(cache, edge);
3548 * hit. We only need to link the edge, as @upper and all its
3557 list_add_tail(&edge->list[UPPER], &upper->lower);
3584 list_add_tail(&edge->list[UPPER], &upper->lower);
3590 list_for_each_entry(edge, &upper->upper, list[LOWER])
3591 list_add_tail(&edge->list[UPPER], &pending_edge);
3601 struct btrfs_backref_edge *edge;
3609 edge = list_first_entry(&cache->pending_edge,
3611 list_del(&edge->list[UPPER]);
3612 list_del(&edge->list[LOWER]);
3613 lower = edge->node[LOWER];
3614 upper = edge->node[UPPER];
3615 btrfs_backref_free_edge(cache, edge);
3629 list_for_each_entry(edge, &upper->upper, list[LOWER])
3630 list_add_tail(&edge->list[UPPER],