Lines Matching full:start

3  * CDDL HEADER START
206 zfs_range_seg_type_t type, void *arg, uint64_t start, uint64_t shift, in ZFS_BTREE_FIND_IN_BUF_FUNC()
243 rt->rt_start = start; in ZFS_BTREE_FIND_IN_BUF_FUNC()
254 zfs_range_seg_type_t type, void *arg, uint64_t start, uint64_t shift, in zfs_range_tree_create_gap() argument
257 return (zfs_range_tree_create_impl(ops, type, arg, start, shift, gap, in zfs_range_tree_create_gap()
263 zfs_range_seg_type_t type, void *arg, uint64_t start, uint64_t shift) in zfs_range_tree_create() argument
265 return (zfs_range_tree_create_impl(ops, type, arg, start, shift, 0, in zfs_range_tree_create()
271 zfs_range_seg_type_t type, void *arg, uint64_t start, uint64_t shift, in zfs_range_tree_create_flags() argument
274 return (zfs_range_tree_create_impl(ops, type, arg, start, shift, 0, in zfs_range_tree_create_flags()
321 zfs_range_tree_add_impl(void *arg, uint64_t start, uint64_t size, uint64_t fill) in zfs_range_tree_add_impl() argument
327 uint64_t end = start + size, gap = rt->rt_gap; in zfs_range_tree_add_impl()
333 ASSERT3U(start + size, >, start); in zfs_range_tree_add_impl()
335 zfs_rs_set_start(&rsearch, rt, start); in zfs_range_tree_add_impl()
355 (longlong_t)start, (longlong_t)size, in zfs_range_tree_add_impl()
359 if (rstart <= start && rend >= end) { in zfs_range_tree_add_impl()
371 start = MIN(start, rstart); in zfs_range_tree_add_impl()
373 size = end - start; in zfs_range_tree_add_impl()
376 zfs_range_tree_add_impl(rt, start, size, fill); in zfs_range_tree_add_impl()
392 start - gap); in zfs_range_tree_add_impl()
397 bridge_size += start - zfs_rs_get_end(rs_before, rt); in zfs_range_tree_add_impl()
442 zfs_rs_set_start(rs_after, rt, start); in zfs_range_tree_add_impl()
448 zfs_rs_set_start(rs, rt, start); in zfs_range_tree_add_impl()
470 zfs_range_tree_add(void *arg, uint64_t start, uint64_t size) in zfs_range_tree_add() argument
472 zfs_range_tree_add_impl(arg, start, size, size); in zfs_range_tree_add()
476 zfs_range_tree_remove_impl(zfs_range_tree_t *rt, uint64_t start, uint64_t size, in zfs_range_tree_remove_impl() argument
482 uint64_t end = start + size; in zfs_range_tree_remove_impl()
489 ASSERT3U(start + size, >, start); in zfs_range_tree_remove_impl()
491 zfs_rs_set_start(&rsearch, rt, start); in zfs_range_tree_remove_impl()
499 ZFS_RT_NAME(rt), (longlong_t)start, (longlong_t)size); in zfs_range_tree_remove_impl()
515 start = rstart; in zfs_range_tree_remove_impl()
517 size = end - start; in zfs_range_tree_remove_impl()
522 } else if (rstart != start || rend != end) { in zfs_range_tree_remove_impl()
527 (longlong_t)start, (longlong_t)size, in zfs_range_tree_remove_impl()
533 if (!(rstart <= start && rend >= end)) { in zfs_range_tree_remove_impl()
538 (longlong_t)start, (longlong_t)size, in zfs_range_tree_remove_impl()
543 left_over = (rstart != start); in zfs_range_tree_remove_impl()
559 zfs_rs_set_end(rs, rt, start); in zfs_range_tree_remove_impl()
571 zfs_rs_set_end(rs, rt, start); in zfs_range_tree_remove_impl()
600 zfs_range_tree_remove(void *arg, uint64_t start, uint64_t size) in zfs_range_tree_remove() argument
602 zfs_range_tree_remove_impl(arg, start, size, B_FALSE); in zfs_range_tree_remove()
606 zfs_range_tree_remove_fill(zfs_range_tree_t *rt, uint64_t start, uint64_t size) in zfs_range_tree_remove_fill() argument
608 zfs_range_tree_remove_impl(rt, start, size, B_TRUE); in zfs_range_tree_remove_fill()
633 zfs_range_tree_find_impl(zfs_range_tree_t *rt, uint64_t start, uint64_t size) in zfs_range_tree_find_impl() argument
636 uint64_t end = start + size; in zfs_range_tree_find_impl()
640 zfs_rs_set_start(&rsearch, rt, start); in zfs_range_tree_find_impl()
646 zfs_range_tree_find(zfs_range_tree_t *rt, uint64_t start, uint64_t size) in zfs_range_tree_find() argument
649 ASSERT3U(start + size, >, start); in zfs_range_tree_find()
651 zfs_range_seg_t *rs = zfs_range_tree_find_impl(rt, start, size); in zfs_range_tree_find()
652 if (rs != NULL && zfs_rs_get_start(rs, rt) <= start && in zfs_range_tree_find()
653 zfs_rs_get_end(rs, rt) >= start + size) { in zfs_range_tree_find()
669 zfs_range_tree_contains(zfs_range_tree_t *rt, uint64_t start, uint64_t size) in zfs_range_tree_contains() argument
671 return (zfs_range_tree_find(rt, start, size) != NULL); in zfs_range_tree_contains()
680 zfs_range_tree_find_in(zfs_range_tree_t *rt, uint64_t start, uint64_t size, in zfs_range_tree_find_in() argument
684 ASSERT3U(start + size, >, start); in zfs_range_tree_find_in()
687 zfs_rs_set_start(&rsearch, rt, start); in zfs_range_tree_find_in()
694 *ostart = start; in zfs_range_tree_find_in()
695 *osize = MIN(size, zfs_rs_get_end(rs, rt) - start); in zfs_range_tree_find_in()
700 if (rs == NULL || zfs_rs_get_start(rs, rt) >= start + size) in zfs_range_tree_find_in()
704 *osize = MIN(start + size, zfs_rs_get_end(rs, rt)) - in zfs_range_tree_find_in()
714 zfs_range_tree_clear(zfs_range_tree_t *rt, uint64_t start, uint64_t size) in zfs_range_tree_clear() argument
722 ASSERT3U(start + size, >, start); in zfs_range_tree_clear()
724 while ((rs = zfs_range_tree_find_impl(rt, start, size)) != NULL) { in zfs_range_tree_clear()
725 uint64_t free_start = MAX(zfs_rs_get_start(rs, rt), start); in zfs_range_tree_clear()
726 uint64_t free_end = MIN(zfs_rs_get_end(rs, rt), start + size); in zfs_range_tree_clear()
806 * Remove any overlapping ranges between the given segment [start, end)
810 zfs_range_tree_remove_xor_add_segment(uint64_t start, uint64_t end, in zfs_range_tree_remove_xor_add_segment() argument
815 zfs_rs_set_start(&starting_rs, removefrom, start); in zfs_range_tree_remove_xor_add_segment()
827 if (start == end) in zfs_range_tree_remove_xor_add_segment()
829 VERIFY3U(start, <, end); in zfs_range_tree_remove_xor_add_segment()
833 zfs_range_tree_add(addto, start, end - start); in zfs_range_tree_remove_xor_add_segment()
838 start); in zfs_range_tree_remove_xor_add_segment()
848 if (start < overlap_start) in zfs_range_tree_remove_xor_add_segment()
849 zfs_range_tree_add(addto, start, overlap_start - start); in zfs_range_tree_remove_xor_add_segment()
851 start = overlap_end; in zfs_range_tree_remove_xor_add_segment()
857 * or there's some left at the start because we started in zfs_range_tree_remove_xor_add_segment()
859 * the loop. If it's the former, we'll return at the start of in zfs_range_tree_remove_xor_add_segment()
864 ASSERT(start == end || start == zfs_rs_get_end(&rs, in zfs_range_tree_remove_xor_add_segment()
872 if (start != end) { in zfs_range_tree_remove_xor_add_segment()
873 VERIFY3U(start, <, end); in zfs_range_tree_remove_xor_add_segment()
874 zfs_range_tree_add(addto, start, end - start); in zfs_range_tree_remove_xor_add_segment()
876 VERIFY3U(start, ==, end); in zfs_range_tree_remove_xor_add_segment()