aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2013-02-27 17:03:53 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-27 19:10:14 -0800
commit12d1b4393e0d8df36b2646a5e512f0513fb532d2 (patch)
treea705b06b3d0ece29b0f34fedba87d18543ac1b80 /include/linux
parentidr: relocate idr_for_each_entry() and reorganize id[r|a]_get_new() (diff)
downloadlinux-dev-12d1b4393e0d8df36b2646a5e512f0513fb532d2.tar.xz
linux-dev-12d1b4393e0d8df36b2646a5e512f0513fb532d2.zip
idr: remove _idr_rc_to_errno() hack
idr uses -1, IDR_NEED_TO_GROW and IDR_NOMORE_SPACE to communicate exception conditions internally. The return value is later translated to errno values using _idr_rc_to_errno(). This is confusing. Drop the custom ones and consistently use -EAGAIN for "tree needs to grow", -ENOMEM for "need more memory" and -ENOSPC for "ran out of ID space". Due to the weird memory preloading mechanism, [ra]_get_new*() return -EAGAIN on memory shortage, so we need to substitute -ENOMEM w/ -EAGAIN on those interface functions. They'll eventually be cleaned up and the translations will go away. This patch doesn't introduce any functional changes. Signed-off-by: Tejun Heo <tj@kernel.org> 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/idr.h6
1 files changed, 0 insertions, 6 deletions
diff --git a/include/linux/idr.h b/include/linux/idr.h
index ff44bc83f3cb..837f152b1383 100644
--- a/include/linux/idr.h
+++ b/include/linux/idr.h
@@ -70,12 +70,6 @@ struct idr {
}
#define DEFINE_IDR(name) struct idr name = IDR_INIT(name)
-/* Actions to be taken after a call to _idr_sub_alloc */
-#define IDR_NEED_TO_GROW -2
-#define IDR_NOMORE_SPACE -3
-
-#define _idr_rc_to_errno(rc) ((rc) == -1 ? -EAGAIN : -ENOSPC)
-
/**
* DOC: idr sync
* idr synchronization (stolen from radix-tree.h)