diff options
author | Tejun Heo <tj@kernel.org> | 2013-02-27 20:03:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-27 22:10:14 -0500 |
commit | 12d1b4393e0d8df36b2646a5e512f0513fb532d2 (patch) | |
tree | a705b06b3d0ece29b0f34fedba87d18543ac1b80 /include | |
parent | 49038ef4fbe2842bd4d8338f89ec5c9ba71b0ae1 (diff) |
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')
-rw-r--r-- | include/linux/idr.h | 6 |
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 { | |||
70 | } | 70 | } |
71 | #define DEFINE_IDR(name) struct idr name = IDR_INIT(name) | 71 | #define DEFINE_IDR(name) struct idr name = IDR_INIT(name) |
72 | 72 | ||
73 | /* Actions to be taken after a call to _idr_sub_alloc */ | ||
74 | #define IDR_NEED_TO_GROW -2 | ||
75 | #define IDR_NOMORE_SPACE -3 | ||
76 | |||
77 | #define _idr_rc_to_errno(rc) ((rc) == -1 ? -EAGAIN : -ENOSPC) | ||
78 | |||
79 | /** | 73 | /** |
80 | * DOC: idr sync | 74 | * DOC: idr sync |
81 | * idr synchronization (stolen from radix-tree.h) | 75 | * idr synchronization (stolen from radix-tree.h) |