Lines Matching full:start

2  * CDDL HEADER START
204 void *arg, uint64_t start, uint64_t shift, uint64_t gap) in ZFS_BTREE_FIND_IN_BUF_FUNC()
238 rt->rt_start = start; in ZFS_BTREE_FIND_IN_BUF_FUNC()
249 void *arg, uint64_t start, uint64_t shift) in range_tree_create() argument
251 return (range_tree_create_gap(ops, type, arg, start, shift, 0)); in range_tree_create()
291 range_tree_add_impl(void *arg, uint64_t start, uint64_t size, uint64_t fill) in range_tree_add_impl() argument
297 uint64_t end = start + size, gap = rt->rt_gap; in range_tree_add_impl()
303 ASSERT3U(start + size, >, start); in range_tree_add_impl()
305 rs_set_start(&rsearch, rt, start); in range_tree_add_impl()
321 (longlong_t)start, (longlong_t)size); in range_tree_add_impl()
326 if (rstart <= start && rend >= end) { in range_tree_add_impl()
338 start = MIN(start, rstart); in range_tree_add_impl()
340 size = end - start; in range_tree_add_impl()
343 range_tree_add_impl(rt, start, size, fill); in range_tree_add_impl()
359 start - gap); in range_tree_add_impl()
364 bridge_size += start - rs_get_end(rs_before, rt); in range_tree_add_impl()
409 rs_set_start(rs_after, rt, start); in range_tree_add_impl()
415 rs_set_start(rs, rt, start); in range_tree_add_impl()
437 range_tree_add(void *arg, uint64_t start, uint64_t size) in range_tree_add() argument
439 range_tree_add_impl(arg, start, size, size); in range_tree_add()
443 range_tree_remove_impl(range_tree_t *rt, uint64_t start, uint64_t size, in range_tree_remove_impl() argument
449 uint64_t end = start + size; in range_tree_remove_impl()
455 ASSERT3U(start + size, >, start); in range_tree_remove_impl()
457 rs_set_start(&rsearch, rt, start); in range_tree_remove_impl()
465 (longlong_t)start, (longlong_t)size); in range_tree_remove_impl()
478 start = rs_get_start(rs, rt); in range_tree_remove_impl()
480 size = end - start; in range_tree_remove_impl()
485 } else if (rs_get_start(rs, rt) != start || in range_tree_remove_impl()
490 (longlong_t)start, (longlong_t)size, in range_tree_remove_impl()
498 VERIFY3U(rs_get_start(rs, rt), <=, start); in range_tree_remove_impl()
501 left_over = (rs_get_start(rs, rt) != start); in range_tree_remove_impl()
517 rs_set_end(rs, rt, start); in range_tree_remove_impl()
529 rs_set_end(rs, rt, start); in range_tree_remove_impl()
558 range_tree_remove(void *arg, uint64_t start, uint64_t size) in range_tree_remove() argument
560 range_tree_remove_impl(arg, start, size, B_FALSE); in range_tree_remove()
564 range_tree_remove_fill(range_tree_t *rt, uint64_t start, uint64_t size) in range_tree_remove_fill() argument
566 range_tree_remove_impl(rt, start, size, B_TRUE); in range_tree_remove_fill()
590 range_tree_find_impl(range_tree_t *rt, uint64_t start, uint64_t size) in range_tree_find_impl() argument
593 uint64_t end = start + size; in range_tree_find_impl()
597 rs_set_start(&rsearch, rt, start); in range_tree_find_impl()
603 range_tree_find(range_tree_t *rt, uint64_t start, uint64_t size) in range_tree_find() argument
606 ASSERT3U(start + size, >, start); in range_tree_find()
608 range_seg_t *rs = range_tree_find_impl(rt, start, size); in range_tree_find()
609 if (rs != NULL && rs_get_start(rs, rt) <= start && in range_tree_find()
610 rs_get_end(rs, rt) >= start + size) { in range_tree_find()
625 range_tree_contains(range_tree_t *rt, uint64_t start, uint64_t size) in range_tree_contains() argument
627 return (range_tree_find(rt, start, size) != NULL); in range_tree_contains()
636 range_tree_find_in(range_tree_t *rt, uint64_t start, uint64_t size, in range_tree_find_in() argument
640 ASSERT3U(start + size, >, start); in range_tree_find_in()
643 rs_set_start(&rsearch, rt, start); in range_tree_find_in()
649 *ostart = start; in range_tree_find_in()
650 *osize = MIN(size, rs_get_end(rs, rt) - start); in range_tree_find_in()
655 if (rs == NULL || rs_get_start(rs, rt) > start + size) in range_tree_find_in()
659 *osize = MIN(start + size, rs_get_end(rs, rt)) - in range_tree_find_in()
669 range_tree_clear(range_tree_t *rt, uint64_t start, uint64_t size) in range_tree_clear() argument
677 ASSERT3U(start + size, >, start); in range_tree_clear()
679 while ((rs = range_tree_find_impl(rt, start, size)) != NULL) { in range_tree_clear()
680 uint64_t free_start = MAX(rs_get_start(rs, rt), start); in range_tree_clear()
681 uint64_t free_end = MIN(rs_get_end(rs, rt), start + size); in range_tree_clear()
759 * Remove any overlapping ranges between the given segment [start, end)
763 range_tree_remove_xor_add_segment(uint64_t start, uint64_t end, in range_tree_remove_xor_add_segment() argument
768 rs_set_start(&starting_rs, removefrom, start); in range_tree_remove_xor_add_segment()
780 if (start == end) in range_tree_remove_xor_add_segment()
782 VERIFY3U(start, <, end); in range_tree_remove_xor_add_segment()
786 range_tree_add(addto, start, end - start); in range_tree_remove_xor_add_segment()
791 start); in range_tree_remove_xor_add_segment()
801 if (start < overlap_start) in range_tree_remove_xor_add_segment()
802 range_tree_add(addto, start, overlap_start - start); in range_tree_remove_xor_add_segment()
804 start = overlap_end; in range_tree_remove_xor_add_segment()
810 * or there's some left at the start because we started in range_tree_remove_xor_add_segment()
812 * the loop. If it's the former, we'll return at the start of in range_tree_remove_xor_add_segment()
817 ASSERT(start == end || start == rs_get_end(&rs, in range_tree_remove_xor_add_segment()
825 if (start != end) { in range_tree_remove_xor_add_segment()
826 VERIFY3U(start, <, end); in range_tree_remove_xor_add_segment()
827 range_tree_add(addto, start, end - start); in range_tree_remove_xor_add_segment()
829 VERIFY3U(start, ==, end); in range_tree_remove_xor_add_segment()