Lines Matching full:ref
95 reference_t *ref;
99 while ((ref = avl_destroy_nodes(&rc->rc_tree, &cookie)) != NULL)
100 kmem_cache_free(reference_cache, ref);
103 while ((ref = list_remove_head(&rc->rc_removed)))
104 kmem_cache_free(reference_cache, ref);
130 reference_t *ref;
139 ref = kmem_cache_alloc(reference_cache, KM_SLEEP);
140 ref->ref_holder = holder;
141 ref->ref_number = number;
142 ref->ref_search = B_FALSE;
144 avl_add(&rc->rc_tree, ref);
171 reference_t *ref, s;
185 ref = avl_find(&rc->rc_tree, &s, NULL);
186 if (unlikely(ref == NULL)) {
191 avl_remove(&rc->rc_tree, ref);
193 list_insert_head(&rc->rc_removed, ref);
195 ref = list_remove_tail(&rc->rc_removed);
196 kmem_cache_free(reference_cache, ref);
201 kmem_cache_free(reference_cache, ref);
229 reference_t *ref;
253 else while ((ref = avl_destroy_nodes(&tree, &cookie)) != NULL)
254 avl_add(&dst->rc_tree, ref);
266 reference_t *ref, s;
275 ref = avl_find(&rc->rc_tree, &s, NULL);
276 ASSERT(ref);
277 ref->ref_holder = new_holder;
278 avl_update(&rc->rc_tree, ref);
298 reference_t *ref, s;
309 ref = avl_find(&rc->rc_tree, &s, &idx);
310 if (likely(ref == NULL))
311 ref = avl_nearest(&rc->rc_tree, idx, AVL_AFTER);
312 res = ref && ref->ref_holder == holder;
325 reference_t *ref, s;
336 ref = avl_find(&rc->rc_tree, &s, &idx);
337 if (likely(ref == NULL))
338 ref = avl_nearest(&rc->rc_tree, idx, AVL_AFTER);
339 res = ref == NULL || ref->ref_holder != holder;