Lines Matching refs:start
649 * On input, *start should be the first offset that does not need to be
650 * freed (e.g. "offset + length"). On return, *start will be the first
654 get_next_chunk(dnode_t *dn, uint64_t *start, uint64_t minimum)
661 ASSERT3U(minimum, <=, *start);
663 if (*start - minimum <= iblkrange * maxblks) {
664 *start = minimum;
669 for (uint64_t blks = 0; *start > minimum && blks < maxblks; blks++) {
675 * decrement *start so that it is at the end of the region
678 (*start)--;
680 DNODE_FIND_BACKWARDS, start, 2, 1, 0);
682 /* if there are no indirect blocks before start, we are done */
684 *start = minimum;
690 /* set start to the beginning of this L1 indirect */
691 *start = P2ALIGN(*start, iblkrange);
693 if (*start < minimum)
694 *start = minimum;