idr: Remove idr_alloc_ext
authorMatthew Wilcox <mawilcox@microsoft.com>
Tue, 28 Nov 2017 20:16:24 +0000 (15:16 -0500)
committerMatthew Wilcox <mawilcox@microsoft.com>
Tue, 6 Feb 2018 21:41:28 +0000 (16:41 -0500)
commit460488c58ca8b9167463ac22ec9a2e33db351962
treea96e67ae3ef9ae38662ddeda2f208f581ac4691f
parentf730cb93db8e640f95ba4acb339d5732e1721730
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>
include/linux/idr.h
include/linux/radix-tree.h
lib/idr.c
lib/radix-tree.c
tools/testing/radix-tree/idr-test.c