Lines Matching refs:cursor
1046 metaslab_block_picker(avl_tree_t *t, uint64_t *cursor, uint64_t size,
1052 rsearch.rs_start = *cursor;
1053 rsearch.rs_end = *cursor + size;
1063 *cursor = offset + size;
1070 * If we know we've searched the whole map (*cursor == 0), give up.
1071 * Otherwise, reset the cursor to the beginning and try again.
1073 if (*cursor == 0)
1076 *cursor = 0;
1077 return (metaslab_block_picker(t, cursor, size, align));
1091 * alignment from the same area of the metaslab (i.e. same cursor
1096 uint64_t *cursor = &msp->ms_lbas[highbit64(align) - 1];
1099 return (metaslab_block_picker(t, cursor, size, align));
1120 * alignment from the same area of the metaslab (i.e. same cursor
1125 uint64_t *cursor = &msp->ms_lbas[highbit64(align) - 1];
1144 *cursor = 0;
1147 return (metaslab_block_picker(t, cursor, size, 1ULL));
1157 * Select the largest region in the metaslab, set the cursor to the beginning
1159 * are made advance the cursor. Continue allocating from the cursor until
1168 uint64_t *cursor = &msp->ms_lbas[0];
1175 ASSERT3U(*cursor_end, >=, *cursor);
1177 if ((*cursor + size) > *cursor_end) {
1184 *cursor = rs->rs_start;
1188 offset = *cursor;
1189 *cursor += size;
1220 uint64_t *cursor = &msp->ms_lbas[hbit - 1];
1229 rsearch.rs_start = *cursor;
1230 rsearch.rs_end = *cursor + size;
1246 *cursor = rs->rs_start + size;