idr: Remove idr_alloc_ext
It has no more users, so remove it. Move idr_alloc() back into idr.c,
move the guts of idr_alloc_cmn() into idr_alloc_u32(), remove the
wrappers around idr_get_free_cmn() and rename it to idr_get_free().
While there is now no interface to allocate IDs larger than a u32,
the IDR internals remain ready to handle a larger ID should a need arise.
These changes make it possible to provide the guarantee that, if the
nextid pointer points into the object, the object's ID will be initialised
before a concurrent lookup can find the object.
Signed-off-by:
Matthew Wilcox <mawilcox@microsoft.com>
Showing
- include/linux/idr.h 1 addition, 50 deletionsinclude/linux/idr.h
- include/linux/radix-tree.h 1 addition, 16 deletionsinclude/linux/radix-tree.h
- lib/idr.c 84 additions, 44 deletionslib/idr.c
- lib/radix-tree.c 2 additions, 1 deletionlib/radix-tree.c
- tools/testing/radix-tree/idr-test.c 17 additions, 0 deletionstools/testing/radix-tree/idr-test.c
Please register or sign in to comment