• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/btrfs/

Lines Matching refs:tree

28  * extent_map_tree_init - initialize extent map tree
29 * @tree: tree to initialize
30 * @mask: flags for memory allocations during tree operations
32 * Initialize the extent tree @tree. Should be called for each new inode
35 void extent_map_tree_init(struct extent_map_tree *tree, gfp_t mask)
37 tree->map = RB_ROOT;
38 rwlock_init(&tree->lock);
108 * search through the tree for an extent_map with a given offset. If
186 int unpin_extent_cache(struct extent_map_tree *tree, u64 start, u64 len)
193 write_lock(&tree->lock);
194 em = lookup_extent_mapping(tree, start, len);
213 rb_erase(&merge->rb_node, &tree->map);
224 rb_erase(&merge->rb_node, &tree->map);
231 write_unlock(&tree->lock);
237 * add_extent_mapping - add new extent map to the extent tree
238 * @tree: tree to insert new map in
241 * Insert @em into @tree or perform a simple forward/backward merge with
243 * into the tree directly, with an additional reference taken, or a
246 int add_extent_mapping(struct extent_map_tree *tree,
254 exist = lookup_extent_mapping(tree, em->start, em->len);
260 rb = tree_insert(&tree->map, em->start, &em->rb_node);
276 rb_erase(&merge->rb_node, &tree->map);
286 rb_erase(&merge->rb_node, &tree->map);
304 * @tree: tree to lookup in
308 * Find and return the first extent_map struct in @tree that intersects the
309 * [start, len] range. There may be additional objects in the tree that
313 struct extent_map *lookup_extent_mapping(struct extent_map_tree *tree,
322 rb_node = __tree_search(&tree->map, start, &prev, &next);
356 * @tree: tree to lookup in
360 * Find and return the first extent_map struct in @tree that intersects the
365 struct extent_map *search_extent_mapping(struct extent_map_tree *tree,
373 rb_node = __tree_search(&tree->map, start, &prev, &next);
403 * remove_extent_mapping - removes an extent_map from the extent tree
404 * @tree: extent tree to remove from
407 * Removes @em from @tree. No reference counts are dropped, and no checks
410 int remove_extent_mapping(struct extent_map_tree *tree, struct extent_map *em)
415 rb_erase(&em->rb_node, &tree->map);