Lines Matching refs:slot
41 int level, int slot);
319 int slot; member
517 alloc_tree_mod_elem(struct extent_buffer *eb, int slot, in alloc_tree_mod_elem() argument
528 btrfs_node_key(eb, &tm->key, slot); in alloc_tree_mod_elem()
529 tm->blockptr = btrfs_node_blockptr(eb, slot); in alloc_tree_mod_elem()
532 tm->slot = slot; in alloc_tree_mod_elem()
533 tm->generation = btrfs_node_ptr_generation(eb, slot); in alloc_tree_mod_elem()
541 struct extent_buffer *eb, int slot, in tree_mod_log_insert_key() argument
550 tm = alloc_tree_mod_elem(eb, slot, op, flags); in tree_mod_log_insert_key()
592 tm->slot = src_slot; in tree_mod_log_insert_move()
883 struct extent_buffer *eb, int slot, int atomic) in tree_mod_log_set_node_key() argument
887 ret = tree_mod_log_insert_key(fs_info, eb, slot, in tree_mod_log_set_node_key()
1294 BUG_ON(tm->slot < n); in __tree_mod_log_rewind()
1298 btrfs_set_node_key(eb, &tm->key, tm->slot); in __tree_mod_log_rewind()
1299 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); in __tree_mod_log_rewind()
1300 btrfs_set_node_ptr_generation(eb, tm->slot, in __tree_mod_log_rewind()
1305 BUG_ON(tm->slot >= n); in __tree_mod_log_rewind()
1306 btrfs_set_node_key(eb, &tm->key, tm->slot); in __tree_mod_log_rewind()
1307 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); in __tree_mod_log_rewind()
1308 btrfs_set_node_ptr_generation(eb, tm->slot, in __tree_mod_log_rewind()
1316 o_dst = btrfs_node_key_ptr_offset(tm->slot); in __tree_mod_log_rewind()
1372 BUG_ON(tm->slot != 0); in tree_mod_log_rewind()
1751 int max, int *slot) in generic_bin_search() argument
1797 *slot = mid; in generic_bin_search()
1801 *slot = low; in generic_bin_search()
1810 int level, int *slot) in bin_search() argument
1817 slot); in bin_search()
1823 slot); in bin_search()
1827 int level, int *slot) in btrfs_bin_search() argument
1829 return bin_search(eb, key, level, slot); in btrfs_bin_search()
1853 struct extent_buffer *parent, int slot) in read_node_slot() argument
1858 if (slot < 0) in read_node_slot()
1860 if (slot >= btrfs_header_nritems(parent)) in read_node_slot()
1865 eb = read_tree_block(root, btrfs_node_blockptr(parent, slot), in read_node_slot()
1866 btrfs_node_ptr_generation(parent, slot)); in read_node_slot()
2236 int level, int slot, u64 objectid) in reada_for_search() argument
2259 search = btrfs_node_blockptr(node, slot); in reada_for_search()
2270 nr = slot; in reada_for_search()
2303 int slot; in reada_for_balance() local
2316 slot = path->slots[level + 1]; in reada_for_balance()
2318 if (slot > 0) { in reada_for_balance()
2319 block1 = btrfs_node_blockptr(parent, slot - 1); in reada_for_balance()
2320 gen = btrfs_node_ptr_generation(parent, slot - 1); in reada_for_balance()
2331 if (slot + 1 < nritems) { in reada_for_balance()
2332 block2 = btrfs_node_blockptr(parent, slot + 1); in reada_for_balance()
2333 gen = btrfs_node_ptr_generation(parent, slot + 1); in reada_for_balance()
2440 struct extent_buffer **eb_ret, int level, int slot, in read_block_for_search() argument
2449 blocknr = btrfs_node_blockptr(b, slot); in read_block_for_search()
2450 gen = btrfs_node_ptr_generation(b, slot); in read_block_for_search()
2491 reada_for_search(root, p, level, slot, key->objectid); in read_block_for_search()
2603 int level, int *prev_cmp, int *slot) in key_search() argument
2606 *prev_cmp = bin_search(b, key, level, slot); in key_search()
2611 *slot = 0; in key_search()
2669 int slot; in btrfs_search_slot() local
2819 ret = key_search(b, key, level, &prev_cmp, &slot); in btrfs_search_slot()
2823 if (ret && slot > 0) { in btrfs_search_slot()
2825 slot -= 1; in btrfs_search_slot()
2827 p->slots[level] = slot; in btrfs_search_slot()
2837 slot = p->slots[level]; in btrfs_search_slot()
2845 if (slot == 0 && ins_len && in btrfs_search_slot()
2862 &b, level, slot, key, 0); in btrfs_search_slot()
2894 p->slots[level] = slot; in btrfs_search_slot()
2948 int slot; in btrfs_search_old_slot() local
2987 ret = key_search(b, key, level, &prev_cmp, &slot); in btrfs_search_old_slot()
2991 if (ret && slot > 0) { in btrfs_search_old_slot()
2993 slot -= 1; in btrfs_search_old_slot()
2995 p->slots[level] = slot; in btrfs_search_old_slot()
3005 slot, key, time_seq); in btrfs_search_old_slot()
3029 p->slots[level] = slot; in btrfs_search_old_slot()
3160 int slot; in btrfs_set_item_key_safe() local
3163 slot = path->slots[0]; in btrfs_set_item_key_safe()
3164 if (slot > 0) { in btrfs_set_item_key_safe()
3165 btrfs_item_key(eb, &disk_key, slot - 1); in btrfs_set_item_key_safe()
3168 if (slot < btrfs_header_nritems(eb) - 1) { in btrfs_set_item_key_safe()
3169 btrfs_item_key(eb, &disk_key, slot + 1); in btrfs_set_item_key_safe()
3174 btrfs_set_item_key(eb, &disk_key, slot); in btrfs_set_item_key_safe()
3176 if (slot == 0) in btrfs_set_item_key_safe()
3399 int slot, int level) in insert_ptr() argument
3409 BUG_ON(slot > nritems); in insert_ptr()
3411 if (slot != nritems) { in insert_ptr()
3413 tree_mod_log_eb_move(root->fs_info, lower, slot + 1, in insert_ptr()
3414 slot, nritems - slot); in insert_ptr()
3416 btrfs_node_key_ptr_offset(slot + 1), in insert_ptr()
3417 btrfs_node_key_ptr_offset(slot), in insert_ptr()
3418 (nritems - slot) * sizeof(struct btrfs_key_ptr)); in insert_ptr()
3421 ret = tree_mod_log_insert_key(root->fs_info, lower, slot, in insert_ptr()
3425 btrfs_set_node_key(lower, key, slot); in insert_ptr()
3426 btrfs_set_node_blockptr(lower, slot, bytenr); in insert_ptr()
3428 btrfs_set_node_ptr_generation(lower, slot, trans->transid); in insert_ptr()
3598 int slot; in __push_leaf_right() local
3618 slot = path->slots[1]; in __push_leaf_right()
3701 btrfs_set_node_key(upper, &disk_key, slot + 1); in __push_leaf_right()
3743 int slot; in push_leaf_right() local
3751 slot = path->slots[1]; in push_leaf_right()
3753 if (slot >= btrfs_header_nritems(upper) - 1) in push_leaf_right()
3758 right = read_node_slot(root, upper, slot + 1); in push_leaf_right()
3771 slot + 1, &right); in push_leaf_right()
3971 int slot; in push_leaf_left() local
3976 slot = path->slots[1]; in push_leaf_left()
3977 if (slot == 0) in push_leaf_left()
3988 left = read_node_slot(root, path->nodes[1], slot - 1); in push_leaf_left()
4003 path->nodes[1], slot - 1, &left); in push_leaf_left()
4035 int slot, int mid, int nritems) in copy_for_split() argument
4077 BUG_ON(path->slots[0] != slot); in copy_for_split()
4079 if (mid <= slot) { in copy_for_split()
4110 int slot; in push_for_double_split() local
4114 slot = path->slots[0]; in push_for_double_split()
4115 if (slot < btrfs_header_nritems(path->nodes[0])) in push_for_double_split()
4122 ret = push_leaf_right(trans, root, path, 1, space_needed, 0, slot); in push_for_double_split()
4141 slot = path->slots[0]; in push_for_double_split()
4142 ret = push_leaf_left(trans, root, path, 1, space_needed, 0, slot); in push_for_double_split()
4170 int slot; in split_leaf() local
4180 slot = path->slots[0]; in split_leaf()
4181 if (extend && data_size + btrfs_item_size_nr(l, slot) + in split_leaf()
4189 if (slot < btrfs_header_nritems(l)) in split_leaf()
4217 slot = path->slots[0]; in split_leaf()
4221 if (mid <= slot) { in split_leaf()
4225 if (slot >= nritems) { in split_leaf()
4228 mid = slot; in split_leaf()
4241 if (!extend && data_size && slot == 0) { in split_leaf()
4243 } else if ((extend || !data_size) && slot == 0) { in split_leaf()
4246 mid = slot; in split_leaf()
4284 if (mid <= slot) { in split_leaf()
4308 copy_for_split(trans, root, path, l, right, slot, mid, nritems); in split_leaf()
4402 int slot; in split_item() local
4425 slot = path->slots[0] + 1; in split_item()
4427 if (slot != nritems) { in split_item()
4429 memmove_extent_buffer(leaf, btrfs_item_nr_offset(slot + 1), in split_item()
4430 btrfs_item_nr_offset(slot), in split_item()
4431 (nritems - slot) * sizeof(struct btrfs_item)); in split_item()
4435 btrfs_set_item_key(leaf, &disk_key, slot); in split_item()
4437 new_item = btrfs_item_nr(slot); in split_item()
4455 btrfs_item_ptr_offset(leaf, slot), in split_item()
4540 int slot; in btrfs_truncate_item() local
4554 slot = path->slots[0]; in btrfs_truncate_item()
4556 old_size = btrfs_item_size_nr(leaf, slot); in btrfs_truncate_item()
4563 old_data_start = btrfs_item_offset_nr(leaf, slot); in btrfs_truncate_item()
4567 BUG_ON(slot < 0); in btrfs_truncate_item()
4568 BUG_ON(slot >= nritems); in btrfs_truncate_item()
4574 for (i = slot; i < nritems; i++) { in btrfs_truncate_item()
4592 btrfs_item_key(leaf, &disk_key, slot); in btrfs_truncate_item()
4598 fi = btrfs_item_ptr(leaf, slot, in btrfs_truncate_item()
4605 ptr = btrfs_item_ptr_offset(leaf, slot); in btrfs_truncate_item()
4618 btrfs_set_item_key(leaf, &disk_key, slot); in btrfs_truncate_item()
4619 if (slot == 0) in btrfs_truncate_item()
4623 item = btrfs_item_nr(slot); in btrfs_truncate_item()
4639 int slot; in btrfs_extend_item() local
4660 slot = path->slots[0]; in btrfs_extend_item()
4661 old_data = btrfs_item_end_nr(leaf, slot); in btrfs_extend_item()
4663 BUG_ON(slot < 0); in btrfs_extend_item()
4664 if (slot >= nritems) { in btrfs_extend_item()
4667 slot, nritems); in btrfs_extend_item()
4675 for (i = slot; i < nritems; i++) { in btrfs_extend_item()
4690 old_size = btrfs_item_size_nr(leaf, slot); in btrfs_extend_item()
4691 item = btrfs_item_nr(slot); in btrfs_extend_item()
4716 int slot; in setup_items_for_insert() local
4728 slot = path->slots[0]; in setup_items_for_insert()
4740 if (slot != nritems) { in setup_items_for_insert()
4741 unsigned int old_data = btrfs_item_end_nr(leaf, slot); in setup_items_for_insert()
4746 slot, old_data, data_end); in setup_items_for_insert()
4753 for (i = slot; i < nritems; i++) { in setup_items_for_insert()
4762 memmove_extent_buffer(leaf, btrfs_item_nr_offset(slot + nr), in setup_items_for_insert()
4763 btrfs_item_nr_offset(slot), in setup_items_for_insert()
4764 (nritems - slot) * sizeof(struct btrfs_item)); in setup_items_for_insert()
4776 btrfs_set_item_key(leaf, &disk_key, slot + i); in setup_items_for_insert()
4777 item = btrfs_item_nr(slot + i); in setup_items_for_insert()
4804 int slot; in btrfs_insert_empty_items() local
4819 slot = path->slots[0]; in btrfs_insert_empty_items()
4820 BUG_ON(slot < 0); in btrfs_insert_empty_items()
4861 int level, int slot) in del_ptr() argument
4868 if (slot != nritems - 1) { in del_ptr()
4870 tree_mod_log_eb_move(root->fs_info, parent, slot, in del_ptr()
4871 slot + 1, nritems - slot - 1); in del_ptr()
4873 btrfs_node_key_ptr_offset(slot), in del_ptr()
4874 btrfs_node_key_ptr_offset(slot + 1), in del_ptr()
4876 (nritems - slot - 1)); in del_ptr()
4878 ret = tree_mod_log_insert_key(root->fs_info, parent, slot, in del_ptr()
4889 } else if (slot == 0) { in del_ptr()
4933 struct btrfs_path *path, int slot, int nr) in btrfs_del_items() argument
4948 last_off = btrfs_item_offset_nr(leaf, slot + nr - 1); in btrfs_del_items()
4951 dsize += btrfs_item_size_nr(leaf, slot + i); in btrfs_del_items()
4955 if (slot + nr != nritems) { in btrfs_del_items()
4963 for (i = slot + nr; i < nritems; i++) { in btrfs_del_items()
4972 memmove_extent_buffer(leaf, btrfs_item_nr_offset(slot), in btrfs_del_items()
4973 btrfs_item_nr_offset(slot + nr), in btrfs_del_items()
4975 (nritems - slot - nr)); in btrfs_del_items()
4991 if (slot == 0) { in btrfs_del_items()
5004 slot = path->slots[1]; in btrfs_del_items()
5022 path->slots[1] = slot; in btrfs_del_items()
5121 int slot; in btrfs_search_forward() local
5143 sret = bin_search(cur, min_key, level, &slot); in btrfs_search_forward()
5147 if (slot >= nritems) in btrfs_search_forward()
5150 path->slots[level] = slot; in btrfs_search_forward()
5151 btrfs_item_key_to_cpu(cur, &found_key, slot); in btrfs_search_forward()
5154 if (sret && slot > 0) in btrfs_search_forward()
5155 slot--; in btrfs_search_forward()
5160 while (slot < nritems) { in btrfs_search_forward()
5163 gen = btrfs_node_ptr_generation(cur, slot); in btrfs_search_forward()
5165 slot++; in btrfs_search_forward()
5175 if (slot >= nritems) { in btrfs_search_forward()
5176 path->slots[level] = slot; in btrfs_search_forward()
5188 btrfs_node_key_to_cpu(cur, &found_key, slot); in btrfs_search_forward()
5189 path->slots[level] = slot; in btrfs_search_forward()
5195 cur = read_node_slot(root, cur, slot); in btrfs_search_forward()
5581 int slot; in btrfs_find_next_key() local
5589 slot = path->slots[level] + 1; in btrfs_find_next_key()
5592 if (slot >= btrfs_header_nritems(c)) { in btrfs_find_next_key()
5605 slot = btrfs_header_nritems(c) - 1; in btrfs_find_next_key()
5607 btrfs_item_key_to_cpu(c, &cur_key, slot); in btrfs_find_next_key()
5609 btrfs_node_key_to_cpu(c, &cur_key, slot); in btrfs_find_next_key()
5621 slot = path->slots[level]; in btrfs_find_next_key()
5623 slot++; in btrfs_find_next_key()
5628 btrfs_item_key_to_cpu(c, key, slot); in btrfs_find_next_key()
5630 u64 gen = btrfs_node_ptr_generation(c, slot); in btrfs_find_next_key()
5633 slot++; in btrfs_find_next_key()
5636 btrfs_node_key_to_cpu(c, key, slot); in btrfs_find_next_key()
5656 int slot; in btrfs_next_old_leaf() local
5727 slot = path->slots[level] + 1; in btrfs_next_old_leaf()
5729 if (slot >= btrfs_header_nritems(c)) { in btrfs_next_old_leaf()
5746 slot, &key, 0); in btrfs_next_old_leaf()
5780 path->slots[level] = slot; in btrfs_next_old_leaf()