On Sat, 17 Aug 2013 15:31:15 -0400 Johannes Weiner <hannes@xxxxxxxxxxx> wrote: > Provide a function that does not just delete an entry at a given > index, but also allows passing in an expected item. Delete only if > that item is still located at the specified index. > > This is handy when lockless tree traversals want to delete entries as > well because they don't have to do an second, locked lookup to verify > the slot has not changed under them before deleting the entry. > > ... > > -void *radix_tree_delete(struct radix_tree_root *root, unsigned long index) > +void *radix_tree_delete_item(struct radix_tree_root *root, > + unsigned long index, void *item) radix-tree is an exported-to-modules API, so I guess we should do this so others don't need to.. --- a/lib/radix-tree.c~lib-radix-tree-radix_tree_delete_item-fix +++ a/lib/radix-tree.c @@ -1393,6 +1393,7 @@ void *radix_tree_delete_item(struct radi out: return slot; } +EXPORT_SYMBOL(radix_tree_delete_item); /** * radix_tree_delete - delete an item from a radix tree _ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>