radix-tree: delete radix_tree_locate_item()

This rather complicated function can be better implemented as an
iterator.  It has only one caller, so move the functionality to the only
place that needs it.  Update the test suite to follow the same pattern.

Link: http://lkml.kernel.org/r/1480369871-5271-56-git-send-email-mawilcox@linuxonhyperv.com
Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
Acked-by: Konstantin Khlebnikov <koct9i@gmail.com>
Tested-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Matthew Wilcox <mawilcox@microsoft.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Matthew Wilcox
2016-12-14 15:08:52 -08:00
committed by Linus Torvalds
parent 148deab223
commit 478922e2b0
6 changed files with 53 additions and 105 deletions

View File

@@ -239,7 +239,7 @@ static void __locate_check(struct radix_tree_root *tree, unsigned long index,
item_insert_order(tree, index, order);
item = item_lookup(tree, index);
index2 = radix_tree_locate_item(tree, item);
index2 = find_item(tree, item);
if (index != index2) {
printf("index %ld order %d inserted; found %ld\n",
index, order, index2);
@@ -273,17 +273,17 @@ static void locate_check(void)
index += (1UL << order)) {
__locate_check(&tree, index + offset, order);
}
if (radix_tree_locate_item(&tree, &tree) != -1)
if (find_item(&tree, &tree) != -1)
abort();
item_kill_tree(&tree);
}
}
if (radix_tree_locate_item(&tree, &tree) != -1)
if (find_item(&tree, &tree) != -1)
abort();
__locate_check(&tree, -1, 0);
if (radix_tree_locate_item(&tree, &tree) != -1)
if (find_item(&tree, &tree) != -1)
abort();
item_kill_tree(&tree);
}