Lines Matching refs:node

70 	struct radix_tree_node *node;  in radix_tree_lookup()  local
75 node = root->rnode; in radix_tree_lookup()
79 while (height && node) in radix_tree_lookup()
80 node = node->slots[radix_pos(index, height--)]; in radix_tree_lookup()
81 if (node) in radix_tree_lookup()
82 item = node->slots[radix_pos(index, 0)]; in radix_tree_lookup()
92 struct radix_tree_node *node; in radix_tree_iter_find() local
97 node = root->rnode; in radix_tree_iter_find()
98 if (node == NULL) in radix_tree_iter_find()
110 *pppslot = node->slots + pos; in radix_tree_iter_find()
112 next = node->slots[pos]; in radix_tree_iter_find()
119 node = next; in radix_tree_iter_find()
131 struct radix_tree_node *node; in radix_tree_delete() local
137 node = root->rnode; in radix_tree_delete()
144 while (height && node) { in radix_tree_delete()
145 stack[height] = node; in radix_tree_delete()
146 node = node->slots[radix_pos(index, height--)]; in radix_tree_delete()
149 if (node) in radix_tree_delete()
150 item = node->slots[idx]; in radix_tree_delete()
156 node->slots[idx] = NULL; in radix_tree_delete()
157 node->count--; in radix_tree_delete()
158 if (node->count > 0) in radix_tree_delete()
160 free(node, M_RADIX); in radix_tree_delete()
161 if (node == root->rnode) { in radix_tree_delete()
167 node = stack[height]; in radix_tree_delete()
184 struct radix_tree_node *node; in radix_tree_insert() local
194 node = root->rnode; in radix_tree_insert()
197 if (node == NULL) { in radix_tree_insert()
198 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_insert()
199 if (node == NULL) in radix_tree_insert()
201 root->rnode = node; in radix_tree_insert()
217 if (node->count != 0) { in radix_tree_insert()
218 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_insert()
219 if (node == NULL) { in radix_tree_insert()
229 node->slots[0] = root->rnode; in radix_tree_insert()
230 node->count++; in radix_tree_insert()
231 root->rnode = node; in radix_tree_insert()
242 if (node->slots[idx] == NULL) in radix_tree_insert()
244 node = node->slots[idx]; in radix_tree_insert()
249 temp[idx] = malloc(sizeof(*node), M_RADIX, in radix_tree_insert()
262 node->slots[idx] = temp[height - 1]; in radix_tree_insert()
263 node->count++; in radix_tree_insert()
264 node = node->slots[idx]; in radix_tree_insert()
271 if (node->slots[idx]) in radix_tree_insert()
273 node->slots[idx] = item; in radix_tree_insert()
274 node->count++; in radix_tree_insert()
282 struct radix_tree_node *node; in radix_tree_store() local
298 node = root->rnode; in radix_tree_store()
301 if (node == NULL) { in radix_tree_store()
302 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_store()
303 if (node == NULL) in radix_tree_store()
305 root->rnode = node; in radix_tree_store()
321 if (node->count != 0) { in radix_tree_store()
322 node = malloc(sizeof(*node), M_RADIX, root->gfp_mask | M_ZERO); in radix_tree_store()
323 if (node == NULL) { in radix_tree_store()
333 node->slots[0] = root->rnode; in radix_tree_store()
334 node->count++; in radix_tree_store()
335 root->rnode = node; in radix_tree_store()
346 if (node->slots[idx] == NULL) in radix_tree_store()
348 node = node->slots[idx]; in radix_tree_store()
353 temp[idx] = malloc(sizeof(*node), M_RADIX, in radix_tree_store()
366 node->slots[idx] = temp[height - 1]; in radix_tree_store()
367 node->count++; in radix_tree_store()
368 node = node->slots[idx]; in radix_tree_store()
376 pitem = node->slots[idx]; in radix_tree_store()
377 node->slots[idx] = *ppitem; in radix_tree_store()
381 node->count++; in radix_tree_store()