Lines Matching refs:tree
34 void btrfs_extent_map_tree_init(struct extent_map_tree *tree) in btrfs_extent_map_tree_init() argument
36 tree->root = RB_ROOT; in btrfs_extent_map_tree_init()
37 INIT_LIST_HEAD(&tree->modified_extents); in btrfs_extent_map_tree_init()
38 rwlock_init(&tree->lock); in btrfs_extent_map_tree_init()
415 struct extent_map_tree *tree = &inode->extent_tree; in btrfs_unpin_extent_cache() local
419 write_lock(&tree->lock); in btrfs_unpin_extent_cache()
420 em = btrfs_lookup_extent_mapping(tree, start, len); in btrfs_unpin_extent_cache()
446 write_unlock(&tree->lock); in btrfs_unpin_extent_cache()
491 struct extent_map_tree *tree = &inode->extent_tree; in add_extent_mapping() local
496 lockdep_assert_held_write(&tree->lock); in add_extent_mapping()
499 ret = tree_insert(&tree->root, em); in add_extent_mapping()
511 static struct extent_map *lookup_extent_mapping(struct extent_map_tree *tree, in lookup_extent_mapping() argument
519 rb_node = tree_search(&tree->root, start, &prev_or_next); in lookup_extent_mapping()
548 struct extent_map *btrfs_lookup_extent_mapping(struct extent_map_tree *tree, in btrfs_lookup_extent_mapping() argument
551 return lookup_extent_mapping(tree, start, len, 1); in btrfs_lookup_extent_mapping()
566 struct extent_map *btrfs_search_extent_mapping(struct extent_map_tree *tree, in btrfs_search_extent_mapping() argument
569 return lookup_extent_mapping(tree, start, len, 0); in btrfs_search_extent_mapping()
583 struct extent_map_tree *tree = &inode->extent_tree; in btrfs_remove_extent_mapping() local
585 lockdep_assert_held_write(&tree->lock); in btrfs_remove_extent_mapping()
600 struct extent_map_tree *tree = &inode->extent_tree; in replace_extent_mapping() local
602 lockdep_assert_held_write(&tree->lock); in replace_extent_mapping()
610 rb_replace_node(&cur->rb_node, &new->rb_node, &tree->root); in replace_extent_mapping()
763 struct extent_map_tree *tree = &inode->extent_tree; in drop_all_extent_maps_fast() local
766 write_lock(&tree->lock); in drop_all_extent_maps_fast()
767 node = rb_first(&tree->root); in drop_all_extent_maps_fast()
777 if (cond_resched_rwlock_write(&tree->lock)) in drop_all_extent_maps_fast()
778 node = rb_first(&tree->root); in drop_all_extent_maps_fast()
782 write_unlock(&tree->lock); in drop_all_extent_maps_fast()
1006 struct extent_map_tree *tree = &inode->extent_tree; in btrfs_replace_extent_map_range() local
1021 write_lock(&tree->lock); in btrfs_replace_extent_map_range()
1023 write_unlock(&tree->lock); in btrfs_replace_extent_map_range()
1126 struct extent_map_tree *tree = &inode->extent_tree; in btrfs_scan_inode() local
1130 lockdep_assert_held_write(&tree->lock); in btrfs_scan_inode()
1149 node = rb_first(&tree->root); in btrfs_scan_inode()
1184 if (need_resched() || rwlock_needbreak(&tree->lock) || in btrfs_scan_inode()
1202 struct extent_map_tree *tree; in find_first_inode_to_shrink() local
1208 tree = &inode->extent_tree; in find_first_inode_to_shrink()
1215 if (!write_trylock(&tree->lock)) in find_first_inode_to_shrink()
1226 if (RB_EMPTY_ROOT(&tree->root)) { in find_first_inode_to_shrink()
1227 write_unlock(&tree->lock); in find_first_inode_to_shrink()
1234 write_unlock(&tree->lock); in find_first_inode_to_shrink()