Lines Matching refs:edge

265 	struct backref_edge *edge;  in alloc_backref_edge()  local
267 edge = kzalloc(sizeof(*edge), GFP_NOFS); in alloc_backref_edge()
268 if (edge) in alloc_backref_edge()
270 return edge; in alloc_backref_edge()
274 struct backref_edge *edge) in free_backref_edge() argument
276 if (edge) { in free_backref_edge()
278 kfree(edge); in free_backref_edge()
344 struct backref_edge *edge; in walk_up_backref() local
348 edge = list_entry(node->upper.next, in walk_up_backref()
350 edges[idx++] = edge; in walk_up_backref()
351 node = edge->node[UPPER]; in walk_up_backref()
364 struct backref_edge *edge; in walk_down_backref() local
369 edge = edges[idx - 1]; in walk_down_backref()
370 lower = edge->node[LOWER]; in walk_down_backref()
371 if (list_is_last(&edge->list[LOWER], &lower->upper)) { in walk_down_backref()
375 edge = list_entry(edge->list[LOWER].next, in walk_down_backref()
377 edges[idx - 1] = edge; in walk_down_backref()
379 return edge->node[UPPER]; in walk_down_backref()
422 struct backref_edge *edge; in remove_backref_node() local
429 edge = list_entry(node->upper.next, struct backref_edge, in remove_backref_node()
431 upper = edge->node[UPPER]; in remove_backref_node()
432 list_del(&edge->list[LOWER]); in remove_backref_node()
433 list_del(&edge->list[UPPER]); in remove_backref_node()
434 free_backref_edge(cache, edge); in remove_backref_node()
664 struct backref_edge *edge; in build_backref_tree() local
722 edge = list_entry(cur->upper.next, struct backref_edge, in build_backref_tree()
724 ASSERT(list_empty(&edge->list[UPPER])); in build_backref_tree()
725 exist = edge->node[UPPER]; in build_backref_tree()
731 list_add_tail(&edge->list[UPPER], &list); in build_backref_tree()
811 edge = alloc_backref_edge(cache); in build_backref_tree()
812 if (!edge) { in build_backref_tree()
820 free_backref_edge(cache, edge); in build_backref_tree()
830 list_add_tail(&edge->list[UPPER], &list); in build_backref_tree()
835 INIT_LIST_HEAD(&edge->list[UPPER]); in build_backref_tree()
837 list_add_tail(&edge->list[LOWER], &cur->upper); in build_backref_tree()
838 edge->node[LOWER] = cur; in build_backref_tree()
839 edge->node[UPPER] = upper; in build_backref_tree()
919 edge = alloc_backref_edge(cache); in build_backref_tree()
920 if (!edge) { in build_backref_tree()
930 free_backref_edge(cache, edge); in build_backref_tree()
958 list_add_tail(&edge->list[UPPER], in build_backref_tree()
963 INIT_LIST_HEAD(&edge->list[UPPER]); in build_backref_tree()
969 INIT_LIST_HEAD(&edge->list[UPPER]); in build_backref_tree()
973 list_add_tail(&edge->list[LOWER], &lower->upper); in build_backref_tree()
974 edge->node[LOWER] = lower; in build_backref_tree()
975 edge->node[UPPER] = upper; in build_backref_tree()
1002 edge = list_entry(list.next, struct backref_edge, list[UPPER]); in build_backref_tree()
1003 list_del_init(&edge->list[UPPER]); in build_backref_tree()
1004 cur = edge->node[UPPER]; in build_backref_tree()
1022 list_for_each_entry(edge, &node->upper, list[LOWER]) in build_backref_tree()
1023 list_add_tail(&edge->list[UPPER], &list); in build_backref_tree()
1026 edge = list_entry(list.next, struct backref_edge, list[UPPER]); in build_backref_tree()
1027 list_del_init(&edge->list[UPPER]); in build_backref_tree()
1028 upper = edge->node[UPPER]; in build_backref_tree()
1030 list_del(&edge->list[LOWER]); in build_backref_tree()
1031 lower = edge->node[LOWER]; in build_backref_tree()
1032 free_backref_edge(cache, edge); in build_backref_tree()
1044 list_add_tail(&edge->list[UPPER], &upper->lower); in build_backref_tree()
1071 list_add_tail(&edge->list[UPPER], &upper->lower); in build_backref_tree()
1073 list_for_each_entry(edge, &upper->upper, list[LOWER]) in build_backref_tree()
1074 list_add_tail(&edge->list[UPPER], &list); in build_backref_tree()
1093 edge = list_entry(upper->lower.next, in build_backref_tree()
1095 list_del(&edge->list[UPPER]); in build_backref_tree()
1096 list_del(&edge->list[LOWER]); in build_backref_tree()
1097 lower = edge->node[LOWER]; in build_backref_tree()
1098 free_backref_edge(cache, edge); in build_backref_tree()
1122 edge = list_first_entry(&list, struct backref_edge, in build_backref_tree()
1124 list_del(&edge->list[UPPER]); in build_backref_tree()
1125 list_del(&edge->list[LOWER]); in build_backref_tree()
1126 lower = edge->node[LOWER]; in build_backref_tree()
1127 upper = edge->node[UPPER]; in build_backref_tree()
1128 free_backref_edge(cache, edge); in build_backref_tree()
1142 list_for_each_entry(edge, &upper->upper, list[LOWER]) in build_backref_tree()
1143 list_add_tail(&edge->list[UPPER], &list); in build_backref_tree()
1178 struct backref_edge *edge; in clone_backref_node() local
1218 list_for_each_entry(edge, &node->lower, list[UPPER]) { in clone_backref_node()
1224 new_edge->node[LOWER] = edge->node[LOWER]; in clone_backref_node()
2659 struct backref_edge *edge; in calcu_metadata_size() local
2677 edge = list_entry(next->upper.next, in calcu_metadata_size()
2679 edges[index++] = edge; in calcu_metadata_size()
2680 next = edge->node[UPPER]; in calcu_metadata_size()
2743 struct backref_edge *edge; in do_relocation() local
2758 list_for_each_entry(edge, &node->upper, list[LOWER]) { in do_relocation()
2764 upper = edge->node[UPPER]; in do_relocation()
2964 struct backref_edge *edge; in update_processed_blocks() local
2979 edge = list_entry(next->upper.next, in update_processed_blocks()
2981 edges[index++] = edge; in update_processed_blocks()
2982 next = edge->node[UPPER]; in update_processed_blocks()