Lines Matching refs:tree

143 	avl_tree_t *tree = &rl->rl_tree;  in rangelock_enter_writer()  local
169 if (avl_numnodes(tree) == 0) { in rangelock_enter_writer()
170 avl_add(tree, new); in rangelock_enter_writer()
177 lr = avl_find(tree, new, &where); in rangelock_enter_writer()
181 lr = (locked_range_t *)avl_nearest(tree, where, AVL_AFTER); in rangelock_enter_writer()
186 lr = (locked_range_t *)avl_nearest(tree, where, AVL_BEFORE); in rangelock_enter_writer()
191 avl_insert(tree, new, where); in rangelock_enter_writer()
212 rangelock_proxify(avl_tree_t *tree, locked_range_t *lr) in rangelock_proxify() argument
222 avl_remove(tree, lr); in rangelock_proxify()
234 avl_add(tree, proxy); in rangelock_proxify()
244 rangelock_split(avl_tree_t *tree, locked_range_t *lr, uint64_t off) in rangelock_split() argument
262 locked_range_t *front = rangelock_proxify(tree, lr); in rangelock_split()
265 avl_insert_here(tree, rear, front, AVL_AFTER); in rangelock_split()
273 rangelock_new_proxy(avl_tree_t *tree, uint64_t off, uint64_t len) in rangelock_new_proxy() argument
284 avl_add(tree, lr); in rangelock_new_proxy()
288 rangelock_add_reader(avl_tree_t *tree, locked_range_t *new, in rangelock_add_reader() argument
310 prev = rangelock_split(tree, prev, off); in rangelock_add_reader()
311 prev = AVL_NEXT(tree, prev); /* move to rear range */ in rangelock_add_reader()
319 next = avl_nearest(tree, where, AVL_AFTER); in rangelock_add_reader()
323 avl_insert(tree, new, where); in rangelock_add_reader()
329 rangelock_new_proxy(tree, off, next->lr_offset - off); in rangelock_add_reader()
339 for (prev = NULL; next; prev = next, next = AVL_NEXT(tree, next)) { in rangelock_add_reader()
347 rangelock_new_proxy(tree, in rangelock_add_reader()
354 next = rangelock_proxify(tree, next); in rangelock_add_reader()
360 next = rangelock_split(tree, next, off + len); in rangelock_add_reader()
365 next = rangelock_proxify(tree, next); in rangelock_add_reader()
370 rangelock_new_proxy(tree, prev->lr_offset + prev->lr_length, in rangelock_add_reader()
380 avl_tree_t *tree = &rl->rl_tree; in rangelock_enter_reader() local
390 prev = avl_find(tree, new, &where); in rangelock_enter_reader()
392 prev = (locked_range_t *)avl_nearest(tree, where, AVL_BEFORE); in rangelock_enter_reader()
416 next = AVL_NEXT(tree, prev); in rangelock_enter_reader()
418 next = (locked_range_t *)avl_nearest(tree, where, AVL_AFTER); in rangelock_enter_reader()
419 for (; next != NULL; next = AVL_NEXT(tree, next)) { in rangelock_enter_reader()
440 rangelock_add_reader(tree, new, prev, where); in rangelock_enter_reader()
489 avl_tree_t *tree = &rl->rl_tree; in rangelock_exit_reader() local
500 avl_remove(tree, remove); in rangelock_exit_reader()
518 locked_range_t *lr = avl_find(tree, remove, NULL); in rangelock_exit_reader()
526 next = AVL_NEXT(tree, lr); in rangelock_exit_reader()
535 avl_remove(tree, lr); in rangelock_exit_reader()