• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/contrib/openzfs/module/zfs/

Lines Matching defs:rs

102 	range_seg_t *rs;
107 for (rs = zfs_btree_first(&rt->rt_root, &where); rs != NULL;
108 rs = zfs_btree_next(&rt->rt_root, &where, &where)) {
109 uint64_t size = rs_get_end(rs, rt) - rs_get_start(rs, rt);
126 range_tree_stat_incr(range_tree_t *rt, range_seg_t *rs)
128 uint64_t size = rs_get_end(rs, rt) - rs_get_start(rs, rt);
140 range_tree_stat_decr(range_tree_t *rt, range_seg_t *rs)
142 uint64_t size = rs_get_end(rs, rt) - rs_get_start(rs, rt);
253 range_tree_adjust_fill(range_tree_t *rt, range_seg_t *rs, int64_t delta)
255 if (delta < 0 && delta * -1 >= rs_get_fill(rs, rt)) {
258 (longlong_t)rs_get_start(rs, rt),
259 (longlong_t)rs_get_end(rs, rt));
261 if (rs_get_fill(rs, rt) + delta > rs_get_end(rs, rt) -
262 rs_get_start(rs, rt)) {
265 (longlong_t)rs_get_start(rs, rt),
266 (longlong_t)rs_get_end(rs, rt));
270 rt->rt_ops->rtop_remove(rt, rs, rt->rt_arg);
271 rs_set_fill(rs, rt, rs_get_fill(rs, rt) + delta);
273 rt->rt_ops->rtop_add(rt, rs, rt->rt_arg);
281 range_seg_t *rs_before, *rs_after, *rs;
293 rs = zfs_btree_find(&rt->rt_root, &rsearch, &where);
303 if (rs != NULL) {
310 uint64_t rstart = rs_get_start(rs, rt);
311 uint64_t rend = rs_get_end(rs, rt);
313 range_tree_adjust_fill(rt, rs, fill);
318 rt->rt_ops->rtop_remove(rt, rs, rt->rt_arg);
320 range_tree_stat_decr(rt, rs);
323 fill += rs_get_fill(rs, rt);
328 zfs_btree_remove(&rt->rt_root, rs);
333 ASSERT3P(rs, ==, NULL);
376 rs = rs_after;
386 rs = rs_before;
396 rs = rs_after;
398 rs = &tmp;
400 rs_set_start(rs, rt, start);
401 rs_set_end(rs, rt, end);
402 rs_set_fill(rs, rt, fill);
403 zfs_btree_add_idx(&rt->rt_root, rs, &where);
407 ASSERT3U(rs_get_fill(rs, rt), <=, rs_get_end(rs, rt) -
408 rs_get_start(rs, rt));
410 ASSERT3U(rs_get_fill(rs, rt), ==, rs_get_end(rs, rt) -
411 rs_get_start(rs, rt));
415 rt->rt_ops->rtop_add(rt, rs, rt->rt_arg);
417 range_tree_stat_incr(rt, rs);
432 range_seg_t *rs;
444 rs = zfs_btree_find(&rt->rt_root, &rsearch, &where);
447 if (rs == NULL) {
462 if (rs_get_fill(rs, rt) == size) {
463 start = rs_get_start(rs, rt);
464 end = rs_get_end(rs, rt);
467 range_tree_adjust_fill(rt, rs, -size);
470 } else if (rs_get_start(rs, rt) != start ||
471 rs_get_end(rs, rt) != end) {
476 (longlong_t)rs_get_start(rs, rt),
477 (longlong_t)rs_get_end(rs, rt) - rs_get_start(rs,
483 VERIFY3U(rs_get_start(rs, rt), <=, start);
484 VERIFY3U(rs_get_end(rs, rt), >=, end);
486 left_over = (rs_get_start(rs, rt) != start);
487 right_over = (rs_get_end(rs, rt) != end);
489 range_tree_stat_decr(rt, rs);
492 rt->rt_ops->rtop_remove(rt, rs, rt->rt_arg);
497 rs_set_end_raw(&newseg, rt, rs_get_end_raw(rs, rt));
498 rs_set_fill(&newseg, rt, rs_get_end(rs, rt) - end);
502 rs_set_end(rs, rt, start);
504 rs_copy(rs, &rs_tmp, rt);
514 rs_set_end(rs, rt, start);
515 rs_copy(rs, &rs_tmp, rt);
518 rs_set_start(rs, rt, end);
519 rs_copy(rs, &rs_tmp, rt);
522 rs = NULL;
525 if (rs != NULL) {
531 rs_set_fill_raw(rs, rt, rs_get_end_raw(rs, rt) -
532 rs_get_start_raw(rs, rt));
555 range_tree_resize_segment(range_tree_t *rt, range_seg_t *rs,
558 int64_t delta = newsize - (rs_get_end(rs, rt) - rs_get_start(rs, rt));
560 range_tree_stat_decr(rt, rs);
562 rt->rt_ops->rtop_remove(rt, rs, rt->rt_arg);
564 rs_set_start(rs, rt, newstart);
565 rs_set_end(rs, rt, newstart + newsize);
567 range_tree_stat_incr(rt, rs);
569 rt->rt_ops->rtop_add(rt, rs, rt->rt_arg);
593 range_seg_t *rs = range_tree_find_impl(rt, start, size);
594 if (rs != NULL && rs_get_start(rs, rt) <= start &&
595 rs_get_end(rs, rt) >= start + size) {
596 return (rs);
604 range_seg_t *rs = range_tree_find(rt, off, size);
605 if (rs != NULL)
606 panic("segment already in tree; rs=%p", (void *)rs);
632 range_seg_t *rs = zfs_btree_find(&rt->rt_root, &rsearch, &where);
633 if (rs != NULL) {
635 *osize = MIN(size, rs_get_end(rs, rt) - start);
639 rs = zfs_btree_next(&rt->rt_root, &where, &where);
640 if (rs == NULL || rs_get_start(rs, rt) > start + size)
643 *ostart = rs_get_start(rs, rt);
644 *osize = MIN(start + size, rs_get_end(rs, rt)) -
645 rs_get_start(rs, rt);
656 range_seg_t *rs;
664 while ((rs = range_tree_find_impl(rt, start, size)) != NULL) {
665 uint64_t free_start = MAX(rs_get_start(rs, rt), start);
666 uint64_t free_end = MIN(rs_get_end(rs, rt), start + size);
691 range_seg_t *rs;
694 while ((rs = zfs_btree_destroy_nodes(&rt->rt_root, &cookie)) !=
696 func(arg, rs_get_start(rs, rt), rs_get_end(rs, rt) -
697 rs_get_start(rs, rt));
711 for (range_seg_t *rs = zfs_btree_first(&rt->rt_root, &where);
712 rs != NULL; rs = zfs_btree_next(&rt->rt_root, &where, &where)) {
713 func(arg, rs_get_start(rs, rt), rs_get_end(rs, rt) -
714 rs_get_start(rs, rt));
778 rt_btree_add(range_tree_t *rt, range_seg_t *rs, void *arg)
782 zfs_btree_add(size_tree, rs);
787 rt_btree_remove(range_tree_t *rt, range_seg_t *rs, void *arg)
791 zfs_btree_remove(size_tree, rs);
851 range_seg_max_t rs;
852 rs_copy(curr, &rs, removefrom);
860 next = zfs_btree_find(&removefrom->rt_root, &rs, &where);
872 ASSERT(start == end || start == rs_get_end(&rs,
897 for (range_seg_t *rs = zfs_btree_first(&rt->rt_root, &where); rs;
898 rs = zfs_btree_next(&rt->rt_root, &where, &where)) {
899 range_tree_remove_xor_add_segment(rs_get_start(rs, rt),
900 rs_get_end(rs, rt), removefrom, addto);
907 range_seg_t *rs = zfs_btree_first(&rt->rt_root, NULL);
908 return (rs != NULL ? rs_get_start(rs, rt) : 0);
914 range_seg_t *rs = zfs_btree_last(&rt->rt_root, NULL);
915 return (rs != NULL ? rs_get_end(rs, rt) : 0);