Lines Matching refs:node

72 	struct radix_tree_node *node;  in radix_tree_lookup()  local
77 node = root->rnode; in radix_tree_lookup()
81 while (height && node) in radix_tree_lookup()
82 node = node->slots[radix_pos(index, height--)]; in radix_tree_lookup()
83 if (node) in radix_tree_lookup()
84 item = node->slots[radix_pos(index, 0)]; in radix_tree_lookup()
94 struct radix_tree_node *node; in radix_tree_iter_find() local
99 node = root->rnode; in radix_tree_iter_find()
100 if (node == NULL) in radix_tree_iter_find()
112 *pppslot = node->slots + pos; in radix_tree_iter_find()
114 next = node->slots[pos]; in radix_tree_iter_find()
121 node = next; in radix_tree_iter_find()
133 struct radix_tree_node *node; in radix_tree_delete() local
139 node = root->rnode; in radix_tree_delete()
146 while (height && node) { in radix_tree_delete()
147 stack[height] = node; in radix_tree_delete()
148 node = node->slots[radix_pos(index, height--)]; in radix_tree_delete()
151 if (node) in radix_tree_delete()
152 item = node->slots[idx]; in radix_tree_delete()
158 node->slots[idx] = NULL; in radix_tree_delete()
159 node->count--; in radix_tree_delete()
160 if (node->count > 0) in radix_tree_delete()
162 free(node, M_RADIX); in radix_tree_delete()
163 if (node == root->rnode) { in radix_tree_delete()
169 node = stack[height]; in radix_tree_delete()
186 struct radix_tree_node *node; in radix_tree_insert() local
196 node = root->rnode; in radix_tree_insert()
199 if (node == NULL) { in radix_tree_insert()
200 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_insert()
201 if (node == NULL) in radix_tree_insert()
203 root->rnode = node; in radix_tree_insert()
219 if (node->count != 0) { in radix_tree_insert()
220 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_insert()
221 if (node == NULL) { in radix_tree_insert()
231 node->slots[0] = root->rnode; in radix_tree_insert()
232 node->count++; in radix_tree_insert()
233 root->rnode = node; in radix_tree_insert()
244 if (node->slots[idx] == NULL) in radix_tree_insert()
246 node = node->slots[idx]; in radix_tree_insert()
251 temp[idx] = malloc(sizeof(*node), M_RADIX, in radix_tree_insert()
264 node->slots[idx] = temp[height - 1]; in radix_tree_insert()
265 node->count++; in radix_tree_insert()
266 node = node->slots[idx]; in radix_tree_insert()
273 if (node->slots[idx]) in radix_tree_insert()
275 node->slots[idx] = item; in radix_tree_insert()
276 node->count++; in radix_tree_insert()
284 struct radix_tree_node *node; in radix_tree_store() local
300 node = root->rnode; in radix_tree_store()
303 if (node == NULL) { in radix_tree_store()
304 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_store()
305 if (node == NULL) in radix_tree_store()
307 root->rnode = node; in radix_tree_store()
323 if (node->count != 0) { in radix_tree_store()
324 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_store()
325 if (node == NULL) { in radix_tree_store()
335 node->slots[0] = root->rnode; in radix_tree_store()
336 node->count++; in radix_tree_store()
337 root->rnode = node; in radix_tree_store()
348 if (node->slots[idx] == NULL) in radix_tree_store()
350 node = node->slots[idx]; in radix_tree_store()
355 temp[idx] = malloc(sizeof(*node), M_RADIX, in radix_tree_store()
368 node->slots[idx] = temp[height - 1]; in radix_tree_store()
369 node->count++; in radix_tree_store()
370 node = node->slots[idx]; in radix_tree_store()
378 pitem = node->slots[idx]; in radix_tree_store()
379 node->slots[idx] = *ppitem; in radix_tree_store()
383 node->count++; in radix_tree_store()