Lines Matching defs:cursor
1106 metaslab_block_picker(avl_tree_t *t, uint64_t *cursor, uint64_t size,
1109 range_seg_t *rs = metaslab_block_find(t, *cursor, size);
1115 *cursor = offset + size;
1122 * If we know we've searched the whole map (*cursor == 0), give up.
1123 * Otherwise, reset the cursor to the beginning and try again.
1125 if (*cursor == 0)
1128 *cursor = 0;
1129 return (metaslab_block_picker(t, cursor, size, align));
1143 * alignment from the same area of the metaslab (i.e. same cursor
1148 uint64_t *cursor = &msp->ms_lbas[highbit64(align) - 1];
1151 return (metaslab_block_picker(t, cursor, size, align));
1172 * alignment from the same area of the metaslab (i.e. same cursor
1177 uint64_t *cursor = &msp->ms_lbas[highbit64(align) - 1];
1196 *cursor = 0;
1199 return (metaslab_block_picker(t, cursor, size, 1ULL));
1209 * Select the largest region in the metaslab, set the cursor to the beginning
1211 * are made advance the cursor. Continue allocating from the cursor until
1220 uint64_t *cursor = &msp->ms_lbas[0];
1227 ASSERT3U(*cursor_end, >=, *cursor);
1229 if ((*cursor + size) > *cursor_end) {
1236 *cursor = rs->rs_start;
1240 offset = *cursor;
1241 *cursor += size;
1272 uint64_t *cursor = &msp->ms_lbas[hbit - 1];
1281 rsearch.rs_start = *cursor;
1282 rsearch.rs_end = *cursor + size;
1298 *cursor = rs->rs_start + size;