Lines Matching refs:next
315 zfs_locked_range_t *next; in zfs_rangelock_add_reader() local
341 next = prev; in zfs_rangelock_add_reader()
343 next = avl_nearest(tree, where, AVL_AFTER); in zfs_rangelock_add_reader()
345 if (next == NULL || off + len <= next->lr_offset) { in zfs_rangelock_add_reader()
351 if (off < next->lr_offset) { in zfs_rangelock_add_reader()
353 zfs_rangelock_new_proxy(tree, off, next->lr_offset - off); in zfs_rangelock_add_reader()
363 for (prev = NULL; next; prev = next, next = AVL_NEXT(tree, next)) { in zfs_rangelock_add_reader()
364 if (off + len <= next->lr_offset) in zfs_rangelock_add_reader()
367 next->lr_offset) { in zfs_rangelock_add_reader()
369 ASSERT3U(next->lr_offset, >, in zfs_rangelock_add_reader()
373 next->lr_offset - in zfs_rangelock_add_reader()
376 if (off + len == next->lr_offset + next->lr_length) { in zfs_rangelock_add_reader()
378 next = zfs_rangelock_proxify(tree, next); in zfs_rangelock_add_reader()
379 next->lr_count++; in zfs_rangelock_add_reader()
382 if (off + len < next->lr_offset + next->lr_length) { in zfs_rangelock_add_reader()
384 next = zfs_rangelock_split(tree, next, off + len); in zfs_rangelock_add_reader()
385 next->lr_count++; in zfs_rangelock_add_reader()
388 ASSERT3U(off + len, >, next->lr_offset + next->lr_length); in zfs_rangelock_add_reader()
389 next = zfs_rangelock_proxify(tree, next); in zfs_rangelock_add_reader()
390 next->lr_count++; in zfs_rangelock_add_reader()
407 zfs_locked_range_t *prev, *next; in zfs_rangelock_enter_reader() local
444 next = AVL_NEXT(tree, prev); in zfs_rangelock_enter_reader()
446 next = avl_nearest(tree, where, AVL_AFTER); in zfs_rangelock_enter_reader()
447 for (; next != NULL; next = AVL_NEXT(tree, next)) { in zfs_rangelock_enter_reader()
448 if (off + len <= next->lr_offset) in zfs_rangelock_enter_reader()
450 if ((next->lr_type == RL_WRITER) || (next->lr_write_wanted)) { in zfs_rangelock_enter_reader()
453 if (!next->lr_read_wanted) { in zfs_rangelock_enter_reader()
454 cv_init(&next->lr_read_cv, in zfs_rangelock_enter_reader()
456 next->lr_read_wanted = B_TRUE; in zfs_rangelock_enter_reader()
458 cv_wait(&next->lr_read_cv, &rl->rl_lock); in zfs_rangelock_enter_reader()
461 if (off + len <= next->lr_offset + next->lr_length) in zfs_rangelock_enter_reader()
587 zfs_locked_range_t *next = NULL; in zfs_rangelock_exit_reader() local
588 for (len = remove->lr_length; len != 0; lr = next) { in zfs_rangelock_exit_reader()
591 next = AVL_NEXT(tree, lr); in zfs_rangelock_exit_reader()
592 ASSERT3P(next, !=, NULL); in zfs_rangelock_exit_reader()
594 next->lr_offset); in zfs_rangelock_exit_reader()
595 ASSERT3U(next->lr_count, !=, 0); in zfs_rangelock_exit_reader()
596 ASSERT3U(next->lr_type, ==, RL_READER); in zfs_rangelock_exit_reader()