aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorFengguang Wu <wfg@mail.ustc.edu.cn>2007-10-16 04:24:33 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:42:52 -0400
commit6df8ba4f8a4c4abca9ccad10441d0dddbdff301c (patch)
tree6ac5cd48d3400a9d32f8affd31106f7942df9547 /include/linux
parentf4e6b498d6e06742d72706ef50593a9c4dd72214 (diff)
radixtree: introduce radix_tree_next_hole()
Introduce radix_tree_next_hole(root, index, max_scan) to scan radix tree for the first hole. It will be used in interleaved readahead. The implementation is dumb and obviously correct. It can help debug(and document) the possible smart one in future. Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn> Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/radix-tree.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/radix-tree.h b/include/linux/radix-tree.h
index f9e77d2ee320..430e4a8c1382 100644
--- a/include/linux/radix-tree.h
+++ b/include/linux/radix-tree.h
@@ -155,6 +155,8 @@ void *radix_tree_delete(struct radix_tree_root *, unsigned long);
155unsigned int 155unsigned int
156radix_tree_gang_lookup(struct radix_tree_root *root, void **results, 156radix_tree_gang_lookup(struct radix_tree_root *root, void **results,
157 unsigned long first_index, unsigned int max_items); 157 unsigned long first_index, unsigned int max_items);
158unsigned long radix_tree_next_hole(struct radix_tree_root *root,
159 unsigned long index, unsigned long max_scan);
158int radix_tree_preload(gfp_t gfp_mask); 160int radix_tree_preload(gfp_t gfp_mask);
159void radix_tree_init(void); 161void radix_tree_init(void);
160void *radix_tree_tag_set(struct radix_tree_root *root, 162void *radix_tree_tag_set(struct radix_tree_root *root,