Lines Matching refs:prev

289     locked_range_t *prev, avl_index_t where)  in rangelock_add_reader()  argument
302 if (prev != NULL) { in rangelock_add_reader()
303 if (prev->lr_offset + prev->lr_length <= off) { in rangelock_add_reader()
304 prev = NULL; in rangelock_add_reader()
305 } else if (prev->lr_offset != off) { in rangelock_add_reader()
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()
314 ASSERT((prev == NULL) || (prev->lr_offset == off)); in rangelock_add_reader()
316 if (prev != NULL) in rangelock_add_reader()
317 next = prev; in rangelock_add_reader()
339 for (prev = NULL; next; prev = next, next = AVL_NEXT(tree, next)) { in rangelock_add_reader()
342 if (prev != NULL && prev->lr_offset + prev->lr_length < in rangelock_add_reader()
346 prev->lr_offset + prev->lr_length); in rangelock_add_reader()
348 prev->lr_offset + prev->lr_length, in rangelock_add_reader()
350 (prev->lr_offset + prev->lr_length)); in rangelock_add_reader()
370 rangelock_new_proxy(tree, prev->lr_offset + prev->lr_length, in rangelock_add_reader()
371 (off + len) - (prev->lr_offset + prev->lr_length)); in rangelock_add_reader()
381 locked_range_t *prev, *next; in rangelock_enter_reader() local
390 prev = avl_find(tree, new, &where); in rangelock_enter_reader()
391 if (prev == NULL) in rangelock_enter_reader()
392 prev = (locked_range_t *)avl_nearest(tree, where, AVL_BEFORE); in rangelock_enter_reader()
397 if (prev && (off < prev->lr_offset + prev->lr_length)) { in rangelock_enter_reader()
398 if ((prev->lr_type == RL_WRITER) || (prev->lr_write_wanted)) { in rangelock_enter_reader()
399 if (!prev->lr_read_wanted) { in rangelock_enter_reader()
400 cv_init(&prev->lr_read_cv, in rangelock_enter_reader()
402 prev->lr_read_wanted = B_TRUE; in rangelock_enter_reader()
404 cv_wait(&prev->lr_read_cv, &rl->rl_lock); in rangelock_enter_reader()
407 if (off + len < prev->lr_offset + prev->lr_length) in rangelock_enter_reader()
415 if (prev != NULL) in rangelock_enter_reader()
416 next = AVL_NEXT(tree, prev); in rangelock_enter_reader()
440 rangelock_add_reader(tree, new, prev, where); in rangelock_enter_reader()