Lines Matching refs:tree

34 void extent_map_tree_init(struct extent_map_tree *tree)  in extent_map_tree_init()  argument
36 tree->map = RB_ROOT; in extent_map_tree_init()
37 INIT_LIST_HEAD(&tree->modified_extents); in extent_map_tree_init()
38 rwlock_init(&tree->lock); in extent_map_tree_init()
225 static void try_merge_map(struct extent_map_tree *tree, struct extent_map *em) in try_merge_map() argument
244 rb_erase(&merge->rb_node, &tree->map); in try_merge_map()
256 rb_erase(&merge->rb_node, &tree->map); in try_merge_map()
275 int unpin_extent_cache(struct extent_map_tree *tree, u64 start, u64 len, in unpin_extent_cache() argument
282 write_lock(&tree->lock); in unpin_extent_cache()
283 em = lookup_extent_mapping(tree, start, len); in unpin_extent_cache()
300 try_merge_map(tree, em); in unpin_extent_cache()
309 write_unlock(&tree->lock); in unpin_extent_cache()
314 void clear_em_logging(struct extent_map_tree *tree, struct extent_map *em) in clear_em_logging() argument
318 try_merge_map(tree, em); in clear_em_logging()
321 static inline void setup_extent_mapping(struct extent_map_tree *tree, in setup_extent_mapping() argument
330 list_move(&em->list, &tree->modified_extents); in setup_extent_mapping()
332 try_merge_map(tree, em); in setup_extent_mapping()
345 int add_extent_mapping(struct extent_map_tree *tree, in add_extent_mapping() argument
350 ret = tree_insert(&tree->map, em); in add_extent_mapping()
354 setup_extent_mapping(tree, em, modified); in add_extent_mapping()
360 __lookup_extent_mapping(struct extent_map_tree *tree, in __lookup_extent_mapping() argument
369 rb_node = __tree_search(&tree->map, start, &prev, &next); in __lookup_extent_mapping()
399 struct extent_map *lookup_extent_mapping(struct extent_map_tree *tree, in lookup_extent_mapping() argument
402 return __lookup_extent_mapping(tree, start, len, 1); in lookup_extent_mapping()
416 struct extent_map *search_extent_mapping(struct extent_map_tree *tree, in search_extent_mapping() argument
419 return __lookup_extent_mapping(tree, start, len, 0); in search_extent_mapping()
430 int remove_extent_mapping(struct extent_map_tree *tree, struct extent_map *em) in remove_extent_mapping() argument
435 rb_erase(&em->rb_node, &tree->map); in remove_extent_mapping()
442 void replace_extent_mapping(struct extent_map_tree *tree, in replace_extent_mapping() argument
451 rb_replace_node(&cur->rb_node, &new->rb_node, &tree->map); in replace_extent_mapping()
454 setup_extent_mapping(tree, new, modified); in replace_extent_mapping()