Lines Matching refs:tree
17 void extent_io_tree_init(struct extent_io_tree *tree) in extent_io_tree_init() argument
19 cache_tree_init(&tree->state); in extent_io_tree_init()
20 cache_tree_init(&tree->cache); in extent_io_tree_init()
21 tree->cache_size = 0; in extent_io_tree_init()
55 void extent_io_tree_cleanup(struct extent_io_tree *tree) in extent_io_tree_cleanup() argument
57 cache_tree_free_extents(&tree->state, free_extent_state_func); in extent_io_tree_cleanup()
72 static int merge_state(struct extent_io_tree *tree, in merge_state() argument
89 remove_cache_extent(&tree->state, &other->cache_node); in merge_state()
101 remove_cache_extent(&tree->state, &state->cache_node); in merge_state()
112 static int insert_state(struct extent_io_tree *tree, in insert_state() argument
123 ret = insert_cache_extent(&tree->state, &state->cache_node); in insert_state()
125 merge_state(tree, state); in insert_state()
134 static int split_state(struct extent_io_tree *tree, struct extent_state *orig, in split_state() argument
144 ret = insert_cache_extent(&tree->state, &prealloc->cache_node); in split_state()
152 static int clear_state_bit(struct extent_io_tree *tree, in clear_state_bit() argument
159 remove_cache_extent(&tree->state, &state->cache_node); in clear_state_bit()
162 merge_state(tree, state); in clear_state_bit()
226 int clear_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, int bits) in clear_extent_bits() argument
246 node = search_cache_extent(&tree->state, start); in clear_extent_bits()
270 err = split_state(tree, state, prealloc, start); in clear_extent_bits()
276 set |= clear_state_bit(tree, state, bits); in clear_extent_bits()
292 err = split_state(tree, state, prealloc, end + 1); in clear_extent_bits()
295 set |= clear_state_bit(tree, prealloc, bits); in clear_extent_bits()
301 set |= clear_state_bit(tree, state, bits); in clear_extent_bits()
320 int set_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, int bits) in set_extent_bits() argument
339 node = search_cache_extent(&tree->state, start); in set_extent_bits()
341 err = insert_state(tree, prealloc, start, end, bits); in set_extent_bits()
359 merge_state(tree, state); in set_extent_bits()
382 err = split_state(tree, state, prealloc, start); in set_extent_bits()
390 merge_state(tree, state); in set_extent_bits()
412 err = insert_state(tree, prealloc, start, this_end, in set_extent_bits()
427 err = split_state(tree, state, prealloc, end + 1); in set_extent_bits()
431 merge_state(tree, prealloc); in set_extent_bits()
443 int set_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end) in set_extent_dirty() argument
445 return set_extent_bits(tree, start, end, EXTENT_DIRTY); in set_extent_dirty()
448 int clear_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end) in clear_extent_dirty() argument
450 return clear_extent_bits(tree, start, end, EXTENT_DIRTY); in clear_extent_dirty()
453 int find_first_extent_bit(struct extent_io_tree *tree, u64 start, in find_first_extent_bit() argument
464 node = search_cache_extent(&tree->state, start); in find_first_extent_bit()
484 int test_range_bit(struct extent_io_tree *tree, u64 start, u64 end, in test_range_bit() argument
491 node = search_cache_extent(&tree->state, start); in test_range_bit()
522 int set_state_private(struct extent_io_tree *tree, u64 start, u64 private) in set_state_private() argument
528 node = search_cache_extent(&tree->state, start); in set_state_private()
543 int get_state_private(struct extent_io_tree *tree, u64 start, u64 *private) in get_state_private() argument
549 node = search_cache_extent(&tree->state, start); in get_state_private()
608 struct extent_io_tree *tree = &eb->fs_info->extent_cache; in free_extent_buffer_final() local
610 remove_cache_extent(&tree->cache, &eb->cache_node); in free_extent_buffer_final()
611 BUG_ON(tree->cache_size < eb->len); in free_extent_buffer_final()
612 tree->cache_size -= eb->len; in free_extent_buffer_final()
641 struct extent_buffer *find_extent_buffer(struct extent_io_tree *tree, in find_extent_buffer() argument
647 cache = lookup_cache_extent(&tree->cache, bytenr, blocksize); in find_extent_buffer()
656 struct extent_buffer *find_first_extent_buffer(struct extent_io_tree *tree, in find_first_extent_buffer() argument
662 cache = search_cache_extent(&tree->cache, start); in find_first_extent_buffer()
674 struct extent_io_tree *tree = &fs_info->extent_cache; in alloc_extent_buffer() local
677 cache = lookup_cache_extent(&tree->cache, bytenr, blocksize); in alloc_extent_buffer()
693 ret = insert_cache_extent(&tree->cache, &eb->cache_node); in alloc_extent_buffer()
698 tree->cache_size += blocksize; in alloc_extent_buffer()
791 struct extent_io_tree *tree = &eb->fs_info->extent_cache; in set_extent_buffer_dirty() local
794 set_extent_dirty(tree, eb->start, eb->start + eb->len - 1); in set_extent_buffer_dirty()
802 struct extent_io_tree *tree = &eb->fs_info->extent_cache; in clear_extent_buffer_dirty() local
805 clear_extent_dirty(tree, eb->start, eb->start + eb->len - 1); in clear_extent_buffer_dirty()