Lines Matching refs:edge

272 	struct backref_edge *edge;  in alloc_backref_edge()  local
274 edge = kzalloc(sizeof(*edge), GFP_NOFS); in alloc_backref_edge()
275 if (edge) in alloc_backref_edge()
277 return edge; in alloc_backref_edge()
281 struct backref_edge *edge) in free_backref_edge() argument
283 if (edge) { in free_backref_edge()
285 kfree(edge); in free_backref_edge()
350 struct backref_edge *edge; in walk_up_backref() local
354 edge = list_entry(node->upper.next, in walk_up_backref()
356 edges[idx++] = edge; in walk_up_backref()
357 node = edge->node[UPPER]; in walk_up_backref()
370 struct backref_edge *edge; in walk_down_backref() local
375 edge = edges[idx - 1]; in walk_down_backref()
376 lower = edge->node[LOWER]; in walk_down_backref()
377 if (list_is_last(&edge->list[LOWER], &lower->upper)) { in walk_down_backref()
381 edge = list_entry(edge->list[LOWER].next, in walk_down_backref()
383 edges[idx - 1] = edge; in walk_down_backref()
385 return edge->node[UPPER]; in walk_down_backref()
428 struct backref_edge *edge; in remove_backref_node() local
435 edge = list_entry(node->upper.next, struct backref_edge, in remove_backref_node()
437 upper = edge->node[UPPER]; in remove_backref_node()
438 list_del(&edge->list[LOWER]); in remove_backref_node()
439 list_del(&edge->list[UPPER]); in remove_backref_node()
440 free_backref_edge(cache, edge); in remove_backref_node()
693 struct backref_edge *edge; local
751 edge = list_entry(cur->upper.next, struct backref_edge,
753 ASSERT(list_empty(&edge->list[UPPER]));
754 exist = edge->node[UPPER];
760 list_add_tail(&edge->list[UPPER], &list);
849 edge = alloc_backref_edge(cache);
850 if (!edge) {
858 free_backref_edge(cache, edge);
868 list_add_tail(&edge->list[UPPER], &list);
873 INIT_LIST_HEAD(&edge->list[UPPER]);
875 list_add_tail(&edge->list[LOWER], &cur->upper);
876 edge->node[LOWER] = cur;
877 edge->node[UPPER] = upper;
940 edge = alloc_backref_edge(cache);
941 if (!edge) {
951 free_backref_edge(cache, edge);
979 list_add_tail(&edge->list[UPPER],
984 INIT_LIST_HEAD(&edge->list[UPPER]);
990 INIT_LIST_HEAD(&edge->list[UPPER]);
994 list_add_tail(&edge->list[LOWER], &lower->upper);
995 edge->node[LOWER] = lower;
996 edge->node[UPPER] = upper;
1023 edge = list_entry(list.next, struct backref_edge, list[UPPER]);
1024 list_del_init(&edge->list[UPPER]);
1025 cur = edge->node[UPPER];
1043 list_for_each_entry(edge, &node->upper, list[LOWER])
1044 list_add_tail(&edge->list[UPPER], &list);
1047 edge = list_entry(list.next, struct backref_edge, list[UPPER]);
1048 list_del_init(&edge->list[UPPER]);
1049 upper = edge->node[UPPER];
1051 list_del(&edge->list[LOWER]);
1052 lower = edge->node[LOWER];
1053 free_backref_edge(cache, edge);
1065 list_add_tail(&edge->list[UPPER], &upper->lower);
1092 list_add_tail(&edge->list[UPPER], &upper->lower);
1094 list_for_each_entry(edge, &upper->upper, list[LOWER])
1095 list_add_tail(&edge->list[UPPER], &list);
1114 edge = list_entry(upper->lower.next,
1116 list_del(&edge->list[UPPER]);
1117 list_del(&edge->list[LOWER]);
1118 lower = edge->node[LOWER];
1119 free_backref_edge(cache, edge);
1143 edge = list_first_entry(&list, struct backref_edge,
1145 list_del(&edge->list[UPPER]);
1146 list_del(&edge->list[LOWER]);
1147 lower = edge->node[LOWER];
1148 upper = edge->node[UPPER];
1149 free_backref_edge(cache, edge);
1163 list_for_each_entry(edge, &upper->upper, list[LOWER])
1164 list_add_tail(&edge->list[UPPER], &list);
1195 struct backref_edge *edge; local
1235 list_for_each_entry(edge, &node->lower, list[UPPER]) {
1241 new_edge->node[LOWER] = edge->node[LOWER];
2564 struct backref_edge *edge; local
2582 edge = list_entry(next->upper.next,
2584 edges[index++] = edge;
2585 next = edge->node[UPPER];
2643 struct backref_edge *edge; local
2658 list_for_each_entry(edge, &node->upper, list[LOWER]) {
2661 upper = edge->node[UPPER];
2838 struct backref_edge *edge; local
2853 edge = list_entry(next->upper.next,
2855 edges[index++] = edge;
2856 next = edge->node[UPPER];