Lines Matching refs:rb_node
56 RB_CLEAR_NODE(&em->rb_node); in alloc_extent_map()
96 struct rb_node **p = &root->rb_root.rb_node; in tree_insert()
97 struct rb_node *parent = NULL; in tree_insert()
99 struct rb_node *orig_parent = NULL; in tree_insert()
105 entry = rb_entry(parent, struct extent_map, rb_node); in tree_insert()
120 entry = rb_entry(parent, struct extent_map, rb_node); in tree_insert()
127 entry = rb_entry(parent, struct extent_map, rb_node); in tree_insert()
130 entry = rb_entry(parent, struct extent_map, rb_node); in tree_insert()
136 rb_link_node(&em->rb_node, orig_parent, p); in tree_insert()
137 rb_insert_color_cached(&em->rb_node, root, leftmost); in tree_insert()
145 static struct rb_node *__tree_search(struct rb_root *root, u64 offset, in __tree_search()
146 struct rb_node **prev_ret, in __tree_search()
147 struct rb_node **next_ret) in __tree_search()
149 struct rb_node *n = root->rb_node; in __tree_search()
150 struct rb_node *prev = NULL; in __tree_search()
151 struct rb_node *orig_prev = NULL; in __tree_search()
156 entry = rb_entry(n, struct extent_map, rb_node); in __tree_search()
172 prev_entry = rb_entry(prev, struct extent_map, rb_node); in __tree_search()
179 prev_entry = rb_entry(prev, struct extent_map, rb_node); in __tree_search()
182 prev_entry = rb_entry(prev, struct extent_map, rb_node); in __tree_search()
234 struct rb_node *rb; in try_merge_map()
248 rb = rb_prev(&em->rb_node); in try_merge_map()
250 merge = rb_entry(rb, struct extent_map, rb_node); in try_merge_map()
261 rb_erase_cached(&merge->rb_node, &tree->map); in try_merge_map()
262 RB_CLEAR_NODE(&merge->rb_node); in try_merge_map()
267 rb = rb_next(&em->rb_node); in try_merge_map()
269 merge = rb_entry(rb, struct extent_map, rb_node); in try_merge_map()
273 rb_erase_cached(&merge->rb_node, &tree->map); in try_merge_map()
274 RB_CLEAR_NODE(&merge->rb_node); in try_merge_map()
418 struct rb_node *rb_node; in __lookup_extent_mapping() local
419 struct rb_node *prev = NULL; in __lookup_extent_mapping()
420 struct rb_node *next = NULL; in __lookup_extent_mapping()
423 rb_node = __tree_search(&tree->map.rb_root, start, &prev, &next); in __lookup_extent_mapping()
424 if (!rb_node) { in __lookup_extent_mapping()
426 rb_node = prev; in __lookup_extent_mapping()
428 rb_node = next; in __lookup_extent_mapping()
433 em = rb_entry(rb_node, struct extent_map, rb_node); in __lookup_extent_mapping()
487 rb_erase_cached(&em->rb_node, &tree->map); in remove_extent_mapping()
492 RB_CLEAR_NODE(&em->rb_node); in remove_extent_mapping()
504 rb_replace_node_cached(&cur->rb_node, &new->rb_node, &tree->map); in replace_extent_mapping()
505 RB_CLEAR_NODE(&cur->rb_node); in replace_extent_mapping()
512 struct rb_node *next; in next_extent_map()
514 next = rb_next(&em->rb_node); in next_extent_map()
517 return container_of(next, struct extent_map, rb_node); in next_extent_map()
522 struct rb_node *prev; in prev_extent_map()
524 prev = rb_prev(&em->rb_node); in prev_extent_map()
527 return container_of(prev, struct extent_map, rb_node); in prev_extent_map()