Lines Matching refs:tree

17 void extent_io_tree_init(struct extent_io_tree *tree)
19 cache_tree_init(&tree->state);
20 cache_tree_init(&tree->cache);
21 tree->cache_size = 0;
55 void extent_io_tree_cleanup(struct extent_io_tree *tree)
57 cache_tree_free_extents(&tree->state, free_extent_state_func);
69 * extent in the tree. Extents with EXTENT_IO in their state field are
72 static int merge_state(struct extent_io_tree *tree,
89 remove_cache_extent(&tree->state, &other->cache_node);
101 remove_cache_extent(&tree->state, &state->cache_node);
109 * insert an extent_state struct into the tree. 'bits' are set on the
112 static int insert_state(struct extent_io_tree *tree,
123 ret = insert_cache_extent(&tree->state, &state->cache_node);
125 merge_state(tree, state);
134 static int split_state(struct extent_io_tree *tree, struct extent_state *orig,
144 ret = insert_cache_extent(&tree->state, &prealloc->cache_node);
150 * clear some bits on a range in the tree.
152 static int clear_state_bit(struct extent_io_tree *tree,
159 remove_cache_extent(&tree->state, &state->cache_node);
162 merge_state(tree, state);
224 * clear some bits on a range in the tree.
226 int clear_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, int bits)
246 node = search_cache_extent(&tree->state, start);
270 err = split_state(tree, state, prealloc, start);
276 set |= clear_state_bit(tree, state, bits);
292 err = split_state(tree, state, prealloc, end + 1);
295 set |= clear_state_bit(tree, prealloc, bits);
301 set |= clear_state_bit(tree, state, bits);
318 * set some bits on a range in the tree.
320 int set_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, int bits)
339 node = search_cache_extent(&tree->state, start);
341 err = insert_state(tree, prealloc, start, end, bits);
359 merge_state(tree, state);
382 err = split_state(tree, state, prealloc, start);
390 merge_state(tree, state);
412 err = insert_state(tree, prealloc, start, this_end,
427 err = split_state(tree, state, prealloc, end + 1);
431 merge_state(tree, prealloc);
443 int set_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end)
445 return set_extent_bits(tree, start, end, EXTENT_DIRTY);
448 int clear_extent_dirty(struct extent_io_tree *tree, u64 start, u64 end)
450 return clear_extent_bits(tree, start, end, EXTENT_DIRTY);
453 int find_first_extent_bit(struct extent_io_tree *tree, u64 start,
464 node = search_cache_extent(&tree->state, start);
484 int test_range_bit(struct extent_io_tree *tree, u64 start, u64 end,
491 node = search_cache_extent(&tree->state, start);
522 int set_state_private(struct extent_io_tree *tree, u64 start, u64 private)
528 node = search_cache_extent(&tree->state, start);
543 int get_state_private(struct extent_io_tree *tree, u64 start, u64 *private)
549 node = search_cache_extent(&tree->state, start);
608 struct extent_io_tree *tree = &eb->fs_info->extent_cache;
610 remove_cache_extent(&tree->cache, &eb->cache_node);
611 BUG_ON(tree->cache_size < eb->len);
612 tree->cache_size -= eb->len;
641 struct extent_buffer *find_extent_buffer(struct extent_io_tree *tree,
647 cache = lookup_cache_extent(&tree->cache, bytenr, blocksize);
656 struct extent_buffer *find_first_extent_buffer(struct extent_io_tree *tree,
662 cache = search_cache_extent(&tree->cache, start);
674 struct extent_io_tree *tree = &fs_info->extent_cache;
677 cache = lookup_cache_extent(&tree->cache, bytenr, blocksize);
693 ret = insert_cache_extent(&tree->cache, &eb->cache_node);
698 tree->cache_size += blocksize;
711 * fuzzed image could have invalid tree bytenr covers super block range,
791 struct extent_io_tree *tree = &eb->fs_info->extent_cache;
794 set_extent_dirty(tree, eb->start, eb->start + eb->len - 1);
802 struct extent_io_tree *tree = &eb->fs_info->extent_cache;
805 clear_extent_dirty(tree, eb->start, eb->start + eb->len - 1);