Lines Matching refs:idx
113 uint32_t idx, uint32_t count) in zfs_btree_poison_node_at() argument
118 ASSERT3U(idx, >=, hdr->bth_count); in zfs_btree_poison_node_at()
119 ASSERT3U(idx, <=, BTREE_CORE_ELEMS); in zfs_btree_poison_node_at()
120 ASSERT3U(idx + count, <=, BTREE_CORE_ELEMS); in zfs_btree_poison_node_at()
123 node->btc_children[idx + i] = in zfs_btree_poison_node_at()
126 (void) memset(node->btc_elems + idx * size, 0x0f, count * size); in zfs_btree_poison_node_at()
128 ASSERT3U(idx, <=, tree->bt_leaf_cap); in zfs_btree_poison_node_at()
129 ASSERT3U(idx + count, <=, tree->bt_leaf_cap); in zfs_btree_poison_node_at()
132 (hdr->bth_first + idx) * size, 0x0f, count * size); in zfs_btree_poison_node_at()
139 uint32_t idx) in zfs_btree_verify_poison_at() argument
144 ASSERT3U(idx, <, BTREE_CORE_ELEMS); in zfs_btree_verify_poison_at()
147 VERIFY3P(node->btc_children[idx + 1], ==, cval); in zfs_btree_verify_poison_at()
149 VERIFY3U(node->btc_elems[idx * size + i], ==, 0x0f); in zfs_btree_verify_poison_at()
151 ASSERT3U(idx, <, tree->bt_leaf_cap); in zfs_btree_verify_poison_at()
153 if (idx >= tree->bt_leaf_cap - hdr->bth_first) in zfs_btree_verify_poison_at()
156 VERIFY3U(leaf->btl_elems[(hdr->bth_first + idx) in zfs_btree_verify_poison_at()
236 uint32_t idx = (min + max) / 2; in zfs_btree_find_in_buf() local
237 uint8_t *cur = buf + idx * tree->bt_elem_size; in zfs_btree_find_in_buf()
240 min = idx + 1; in zfs_btree_find_in_buf()
242 max = idx; in zfs_btree_find_in_buf()
244 where->bti_offset = idx; in zfs_btree_find_in_buf()
277 zfs_btree_index_t idx; in zfs_btree_find() local
317 last_leaf->btl_hdr.bth_count, value, &idx); in zfs_btree_find()
320 idx.bti_node = (zfs_btree_hdr_t *)last_leaf; in zfs_btree_find()
321 *where = idx; in zfs_btree_find()
339 node->btc_hdr.bth_count, value, &idx); in zfs_btree_find()
340 EQUIV(d != NULL, !idx.bti_before); in zfs_btree_find()
343 idx.bti_node = (zfs_btree_hdr_t *)node; in zfs_btree_find()
344 *where = idx; in zfs_btree_find()
348 ASSERT(idx.bti_before); in zfs_btree_find()
349 child = idx.bti_offset; in zfs_btree_find()
360 leaf->btl_hdr.bth_count, value, &idx); in zfs_btree_find()
363 idx.bti_node = (zfs_btree_hdr_t *)leaf; in zfs_btree_find()
364 *where = idx; in zfs_btree_find()
429 bt_shift_core(zfs_btree_t *tree, zfs_btree_core_t *node, uint32_t idx, in bt_shift_core() argument
436 uint8_t *e_start = node->btc_elems + idx * size; in bt_shift_core()
441 zfs_btree_hdr_t **c_start = node->btc_children + idx + in bt_shift_core()
456 bt_shift_core_left(zfs_btree_t *tree, zfs_btree_core_t *node, uint32_t idx, in bt_shift_core_left() argument
459 bt_shift_core(tree, node, idx, count, 1, shape, BSD_LEFT); in bt_shift_core_left()
467 bt_shift_core_right(zfs_btree_t *tree, zfs_btree_core_t *node, uint32_t idx, in bt_shift_core_right() argument
470 bt_shift_core(tree, node, idx, count, 1, shape, BSD_RIGHT); in bt_shift_core_right()
479 bt_shift_leaf(zfs_btree_t *tree, zfs_btree_leaf_t *node, uint32_t idx, in bt_shift_leaf() argument
488 uint8_t *start = node->btl_elems + (hdr->bth_first + idx) * size; in bt_shift_leaf()
498 bt_grow_leaf(zfs_btree_t *tree, zfs_btree_leaf_t *leaf, uint32_t idx, in bt_grow_leaf() argument
503 ASSERT3U(idx, <=, hdr->bth_count); in bt_grow_leaf()
509 if (cl && (!cr || idx <= hdr->bth_count / 2)) { in bt_grow_leaf()
512 bt_shift_leaf(tree, leaf, n, idx, n, BSD_LEFT); in bt_grow_leaf()
515 bt_shift_leaf(tree, leaf, idx, hdr->bth_count - idx, n, in bt_grow_leaf()
522 bt_shift_leaf(tree, leaf, fn, idx, fn, BSD_LEFT); in bt_grow_leaf()
523 bt_shift_leaf(tree, leaf, fn + idx, hdr->bth_count - idx, in bt_grow_leaf()
533 bt_shrink_leaf(zfs_btree_t *tree, zfs_btree_leaf_t *leaf, uint32_t idx, in bt_shrink_leaf() argument
538 ASSERT3U(idx, <=, hdr->bth_count); in bt_shrink_leaf()
539 ASSERT3U(idx + n, <=, hdr->bth_count); in bt_shrink_leaf()
541 if (idx <= (hdr->bth_count - n) / 2) { in bt_shrink_leaf()
542 bt_shift_leaf(tree, leaf, 0, idx, n, BSD_RIGHT); in bt_shrink_leaf()
546 bt_shift_leaf(tree, leaf, idx + n, hdr->bth_count - idx - n, n, in bt_shrink_leaf()
680 zfs_btree_index_t idx; in zfs_btree_insert_into_parent() local
683 par_hdr->bth_count, buf, &idx), ==, NULL); in zfs_btree_insert_into_parent()
684 ASSERT(idx.bti_before); in zfs_btree_insert_into_parent()
685 uint32_t offset = idx.bti_offset; in zfs_btree_insert_into_parent()
791 uint32_t idx, const void *value) in zfs_btree_insert_leaf_impl() argument
802 bt_grow_leaf(tree, leaf, idx, 1); in zfs_btree_insert_leaf_impl()
803 uint8_t *start = leaf->btl_elems + (hdr->bth_first + idx) * size; in zfs_btree_insert_leaf_impl()
813 const void *value, uint32_t idx) in zfs_btree_insert_into_leaf() argument
823 zfs_btree_insert_leaf_impl(tree, leaf, idx, value); in zfs_btree_insert_into_leaf()
845 if (idx < keep_count) { in zfs_btree_insert_into_leaf()
854 (idx >= keep_count && idx <= keep_count + move_count / 2); in zfs_btree_insert_into_leaf()
871 if (idx < keep_count) { in zfs_btree_insert_into_leaf()
873 zfs_btree_insert_leaf_impl(tree, leaf, idx, value); in zfs_btree_insert_into_leaf()
874 } else if (idx > keep_count) { in zfs_btree_insert_into_leaf()
876 zfs_btree_insert_leaf_impl(tree, new_leaf, idx - keep_count - in zfs_btree_insert_into_leaf()
906 zfs_btree_index_t idx; in zfs_btree_find_parent_idx() local
909 parent->btc_hdr.bth_count, buf, &idx), ==, NULL); in zfs_btree_find_parent_idx()
910 ASSERT(idx.bti_before); in zfs_btree_find_parent_idx()
911 ASSERT3U(idx.bti_offset, <=, parent->btc_hdr.bth_count); in zfs_btree_find_parent_idx()
912 ASSERT3P(parent->btc_children[idx.bti_offset], ==, hdr); in zfs_btree_find_parent_idx()
913 return (idx.bti_offset); in zfs_btree_find_parent_idx()
954 zfs_btree_index_t idx = { in zfs_btree_bulk_finish() local
958 VERIFY3P(zfs_btree_prev(tree, &idx, &idx), !=, NULL); in zfs_btree_bulk_finish()
959 ASSERT(zfs_btree_is_core(idx.bti_node)); in zfs_btree_bulk_finish()
960 zfs_btree_core_t *common = (zfs_btree_core_t *)idx.bti_node; in zfs_btree_bulk_finish()
961 uint32_t common_idx = idx.bti_offset; in zfs_btree_bulk_finish()
963 VERIFY3P(zfs_btree_prev(tree, &idx, &idx), !=, NULL); in zfs_btree_bulk_finish()
964 ASSERT(!zfs_btree_is_core(idx.bti_node)); in zfs_btree_bulk_finish()
965 zfs_btree_leaf_t *l_neighbor = (zfs_btree_leaf_t *)idx.bti_node; in zfs_btree_bulk_finish()
966 zfs_btree_hdr_t *l_hdr = idx.bti_node; in zfs_btree_bulk_finish()
1093 zfs_btree_index_t idx = {0}; in zfs_btree_add_idx() local
1099 VERIFY3P(zfs_btree_find(tree, value, &idx), ==, NULL); in zfs_btree_add_idx()
1100 where = &idx; in zfs_btree_add_idx()
1232 zfs_btree_next_helper(zfs_btree_t *tree, const zfs_btree_index_t *idx, in zfs_btree_next_helper() argument
1236 if (idx->bti_node == NULL) { in zfs_btree_next_helper()
1241 uint32_t offset = idx->bti_offset; in zfs_btree_next_helper()
1242 if (!zfs_btree_is_core(idx->bti_node)) { in zfs_btree_next_helper()
1252 zfs_btree_leaf_t *leaf = (zfs_btree_leaf_t *)idx->bti_node; in zfs_btree_next_helper()
1253 uint32_t new_off = offset + (idx->bti_before ? 0 : 1); in zfs_btree_next_helper()
1289 ASSERT(zfs_btree_is_core(idx->bti_node)); in zfs_btree_next_helper()
1290 zfs_btree_core_t *node = (zfs_btree_core_t *)idx->bti_node; in zfs_btree_next_helper()
1291 if (idx->bti_before) { in zfs_btree_next_helper()
1309 zfs_btree_next(zfs_btree_t *tree, const zfs_btree_index_t *idx, in zfs_btree_next() argument
1312 return (zfs_btree_next_helper(tree, idx, out_idx, NULL)); in zfs_btree_next()
1320 zfs_btree_prev(zfs_btree_t *tree, const zfs_btree_index_t *idx, in zfs_btree_prev() argument
1323 if (idx->bti_node == NULL) { in zfs_btree_prev()
1328 uint32_t offset = idx->bti_offset; in zfs_btree_prev()
1329 if (!zfs_btree_is_core(idx->bti_node)) { in zfs_btree_prev()
1339 zfs_btree_leaf_t *leaf = (zfs_btree_leaf_t *)idx->bti_node; in zfs_btree_prev()
1373 ASSERT(zfs_btree_is_core(idx->bti_node)); in zfs_btree_prev()
1374 zfs_btree_core_t *node = (zfs_btree_core_t *)idx->bti_node; in zfs_btree_prev()
1387 zfs_btree_get(zfs_btree_t *tree, zfs_btree_index_t *idx) in zfs_btree_get() argument
1389 ASSERT(!idx->bti_before); in zfs_btree_get()
1391 if (!zfs_btree_is_core(idx->bti_node)) { in zfs_btree_get()
1392 zfs_btree_leaf_t *leaf = (zfs_btree_leaf_t *)idx->bti_node; in zfs_btree_get()
1394 idx->bti_offset) * size); in zfs_btree_get()
1396 zfs_btree_core_t *node = (zfs_btree_core_t *)idx->bti_node; in zfs_btree_get()
1397 return (node->btc_elems + idx->bti_offset * size); in zfs_btree_get()
1449 uint32_t idx; in zfs_btree_remove_from_node() local
1450 for (idx = 0; idx <= hdr->bth_count; idx++) { in zfs_btree_remove_from_node()
1451 if (node->btc_children[idx] == rm_hdr) in zfs_btree_remove_from_node()
1454 ASSERT3U(idx, <=, hdr->bth_count); in zfs_btree_remove_from_node()
1466 bt_shift_core_left(tree, node, idx, hdr->bth_count - idx, in zfs_btree_remove_from_node()
1503 bt_shift_core_right(tree, node, 0, idx - 1, BSS_TRAPEZOID); in zfs_btree_remove_from_node()
1538 bt_shift_core_left(tree, node, idx, hdr->bth_count - idx, in zfs_btree_remove_from_node()
1582 uint32_t new_idx = idx; in zfs_btree_remove_from_node()
1655 uint32_t idx = where->bti_offset; in zfs_btree_remove_idx() local
1672 idx = where->bti_offset; in zfs_btree_remove_idx()
1684 zfs_btree_hdr_t *left_subtree = node->btc_children[idx]; in zfs_btree_remove_idx()
1689 bcpy(new_value, node->btc_elems + idx * size, size); in zfs_btree_remove_idx()
1692 idx = where->bti_offset; in zfs_btree_remove_idx()
1712 bt_shrink_leaf(tree, leaf, idx, 1); in zfs_btree_remove_idx()
1753 bt_shift_leaf(tree, leaf, 0, idx, 1, BSD_RIGHT); in zfs_btree_remove_idx()
1783 bt_shift_leaf(tree, leaf, idx + 1, hdr->bth_count - idx - 1, in zfs_btree_remove_idx()
1840 bt_shrink_leaf(tree, leaf, idx, 1); in zfs_btree_remove_idx()