Lines Matching defs:cursor
937 metaslab_block_picker(avl_tree_t *t, uint64_t *cursor, uint64_t size,
943 rsearch.rs_start = *cursor;
944 rsearch.rs_end = *cursor + size;
954 *cursor = offset + size;
961 * If we know we've searched the whole map (*cursor == 0), give up.
962 * Otherwise, reset the cursor to the beginning and try again.
964 if (*cursor == 0)
967 *cursor = 0;
968 return (metaslab_block_picker(t, cursor, size, align));
982 * alignment from the same area of the metaslab (i.e. same cursor
987 uint64_t *cursor = &msp->ms_lbas[highbit64(align) - 1];
990 return (metaslab_block_picker(t, cursor, size, align));
1011 * alignment from the same area of the metaslab (i.e. same cursor
1016 uint64_t *cursor = &msp->ms_lbas[highbit64(align) - 1];
1035 *cursor = 0;
1038 return (metaslab_block_picker(t, cursor, size, 1ULL));
1048 * Select the largest region in the metaslab, set the cursor to the beginning
1050 * are made advance the cursor. Continue allocating from the cursor until
1059 uint64_t *cursor = &msp->ms_lbas[0];
1066 ASSERT3U(*cursor_end, >=, *cursor);
1068 if ((*cursor + size) > *cursor_end) {
1075 *cursor = rs->rs_start;
1079 offset = *cursor;
1080 *cursor += size;
1111 uint64_t *cursor = &msp->ms_lbas[hbit - 1];
1120 rsearch.rs_start = *cursor;
1121 rsearch.rs_end = *cursor + size;
1137 *cursor = rs->rs_start + size;