Commit 99c792d
idr: support storing NULL in the IDR
The radix tree interprets storing NULL as a deleted entry. Several users
of the IDR API use NULL as a temporary placeholder, or intentionally
convert entries between NULL and non-NULL pointers to keep IDs reserved
but not necessarily pointing to a valid entry at any given moment. Adapt
the radix tree to cope with NULL pointers when being used as an IDR.
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Matthew Wilcox <[email protected]>
Cc: Stephen Rothwell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>1 parent 61c9695 commit 99c792d
3 files changed
+65
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
156 | | - | |
| 156 | + | |
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | | - | |
161 | | - | |
| 160 | + | |
162 | 161 | | |
163 | 162 | | |
164 | 163 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
604 | 604 | | |
605 | 605 | | |
606 | 606 | | |
607 | | - | |
| 607 | + | |
608 | 608 | | |
609 | 609 | | |
610 | 610 | | |
| |||
615 | 615 | | |
616 | 616 | | |
617 | 617 | | |
618 | | - | |
| 618 | + | |
619 | 619 | | |
620 | | - | |
| 620 | + | |
| 621 | + | |
621 | 622 | | |
622 | 623 | | |
623 | 624 | | |
| |||
1081 | 1082 | | |
1082 | 1083 | | |
1083 | 1084 | | |
1084 | | - | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
1085 | 1090 | | |
1086 | 1091 | | |
1087 | 1092 | | |
| |||
1188 | 1193 | | |
1189 | 1194 | | |
1190 | 1195 | | |
| 1196 | + | |
| 1197 | + | |
1191 | 1198 | | |
1192 | 1199 | | |
1193 | 1200 | | |
| |||
1511 | 1518 | | |
1512 | 1519 | | |
1513 | 1520 | | |
1514 | | - | |
1515 | | - | |
1516 | 1521 | | |
1517 | 1522 | | |
1518 | 1523 | | |
| |||
1964 | 1969 | | |
1965 | 1970 | | |
1966 | 1971 | | |
1967 | | - | |
| 1972 | + | |
1968 | 1973 | | |
1969 | 1974 | | |
1970 | 1975 | | |
| |||
1981 | 1986 | | |
1982 | 1987 | | |
1983 | 1988 | | |
1984 | | - | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
1985 | 1992 | | |
1986 | | - | |
| 1993 | + | |
| 1994 | + | |
1987 | 1995 | | |
1988 | 1996 | | |
1989 | 1997 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
77 | 119 | | |
78 | 120 | | |
79 | 121 | | |
| |||
112 | 154 | | |
113 | 155 | | |
114 | 156 | | |
115 | | - | |
116 | 157 | | |
| 158 | + | |
117 | 159 | | |
118 | 160 | | |
119 | 161 | | |
| |||
176 | 218 | | |
177 | 219 | | |
178 | 220 | | |
| 221 | + | |
179 | 222 | | |
180 | 223 | | |
181 | 224 | | |
182 | 225 | | |
| 226 | + | |
183 | 227 | | |
184 | 228 | | |
185 | 229 | | |
| |||
0 commit comments