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()
1296 BUG_ON(tm->slot < n); in __tree_mod_log_rewind()
1300 btrfs_set_node_key(eb, &tm->key, tm->slot); in __tree_mod_log_rewind()
1301 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); in __tree_mod_log_rewind()
1302 btrfs_set_node_ptr_generation(eb, tm->slot, in __tree_mod_log_rewind()
1307 BUG_ON(tm->slot >= n); in __tree_mod_log_rewind()
1308 btrfs_set_node_key(eb, &tm->key, tm->slot); in __tree_mod_log_rewind()
1309 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); in __tree_mod_log_rewind()
1310 btrfs_set_node_ptr_generation(eb, tm->slot, in __tree_mod_log_rewind()
1318 o_dst = btrfs_node_key_ptr_offset(tm->slot); in __tree_mod_log_rewind()
1374 BUG_ON(tm->slot != 0); in tree_mod_log_rewind()
1756 int max, int *slot) in generic_bin_search() argument
1802 *slot = mid; in generic_bin_search()
1806 *slot = low; in generic_bin_search()
1815 int level, int *slot) in bin_search() argument
1822 slot); in bin_search()
1828 slot); in bin_search()
1832 int level, int *slot) in btrfs_bin_search() argument
1834 return bin_search(eb, key, level, slot); in btrfs_bin_search()
1858 struct extent_buffer *parent, int slot) in read_node_slot() argument
1863 if (slot < 0) in read_node_slot()
1865 if (slot >= btrfs_header_nritems(parent)) in read_node_slot()
1870 eb = read_tree_block(root, btrfs_node_blockptr(parent, slot), in read_node_slot()
1871 btrfs_node_ptr_generation(parent, slot)); in read_node_slot()
2242 int level, int slot, u64 objectid) in reada_for_search() argument
2265 search = btrfs_node_blockptr(node, slot); in reada_for_search()
2276 nr = slot; in reada_for_search()
2309 int slot; in reada_for_balance() local
2322 slot = path->slots[level + 1]; in reada_for_balance()
2324 if (slot > 0) { in reada_for_balance()
2325 block1 = btrfs_node_blockptr(parent, slot - 1); in reada_for_balance()
2326 gen = btrfs_node_ptr_generation(parent, slot - 1); in reada_for_balance()
2337 if (slot + 1 < nritems) { in reada_for_balance()
2338 block2 = btrfs_node_blockptr(parent, slot + 1); in reada_for_balance()
2339 gen = btrfs_node_ptr_generation(parent, slot + 1); in reada_for_balance()
2446 struct extent_buffer **eb_ret, int level, int slot, in read_block_for_search() argument
2455 blocknr = btrfs_node_blockptr(b, slot); in read_block_for_search()
2456 gen = btrfs_node_ptr_generation(b, slot); in read_block_for_search()
2497 reada_for_search(root, p, level, slot, key->objectid); in read_block_for_search()
2609 int level, int *prev_cmp, int *slot) in key_search() argument
2612 *prev_cmp = bin_search(b, key, level, slot); in key_search()
2617 *slot = 0; in key_search()
2675 int slot; in btrfs_search_slot() local
2825 ret = key_search(b, key, level, &prev_cmp, &slot); in btrfs_search_slot()
2829 if (ret && slot > 0) { in btrfs_search_slot()
2831 slot -= 1; in btrfs_search_slot()
2833 p->slots[level] = slot; in btrfs_search_slot()
2843 slot = p->slots[level]; in btrfs_search_slot()
2851 if (slot == 0 && ins_len && in btrfs_search_slot()
2868 &b, level, slot, key, 0); in btrfs_search_slot()
2900 p->slots[level] = slot; in btrfs_search_slot()
2954 int slot; in btrfs_search_old_slot() local
2993 ret = key_search(b, key, level, &prev_cmp, &slot); in btrfs_search_old_slot()
2997 if (ret && slot > 0) { in btrfs_search_old_slot()
2999 slot -= 1; in btrfs_search_old_slot()
3001 p->slots[level] = slot; in btrfs_search_old_slot()
3011 slot, key, time_seq); in btrfs_search_old_slot()
3035 p->slots[level] = slot; in btrfs_search_old_slot()
3166 int slot; in btrfs_set_item_key_safe() local
3169 slot = path->slots[0]; in btrfs_set_item_key_safe()
3170 if (slot > 0) { in btrfs_set_item_key_safe()
3171 btrfs_item_key(eb, &disk_key, slot - 1); in btrfs_set_item_key_safe()
3174 if (slot < btrfs_header_nritems(eb) - 1) { in btrfs_set_item_key_safe()
3175 btrfs_item_key(eb, &disk_key, slot + 1); in btrfs_set_item_key_safe()
3180 btrfs_set_item_key(eb, &disk_key, slot); in btrfs_set_item_key_safe()
3182 if (slot == 0) in btrfs_set_item_key_safe()
3405 int slot, int level) in insert_ptr() argument
3415 BUG_ON(slot > nritems); in insert_ptr()
3417 if (slot != nritems) { in insert_ptr()
3419 tree_mod_log_eb_move(root->fs_info, lower, slot + 1, in insert_ptr()
3420 slot, nritems - slot); in insert_ptr()
3422 btrfs_node_key_ptr_offset(slot + 1), in insert_ptr()
3423 btrfs_node_key_ptr_offset(slot), in insert_ptr()
3424 (nritems - slot) * sizeof(struct btrfs_key_ptr)); in insert_ptr()
3427 ret = tree_mod_log_insert_key(root->fs_info, lower, slot, in insert_ptr()
3431 btrfs_set_node_key(lower, key, slot); in insert_ptr()
3432 btrfs_set_node_blockptr(lower, slot, bytenr); in insert_ptr()
3434 btrfs_set_node_ptr_generation(lower, slot, trans->transid); in insert_ptr()
3604 int slot; in __push_leaf_right() local
3624 slot = path->slots[1]; in __push_leaf_right()
3707 btrfs_set_node_key(upper, &disk_key, slot + 1); in __push_leaf_right()
3749 int slot; in push_leaf_right() local
3757 slot = path->slots[1]; in push_leaf_right()
3759 if (slot >= btrfs_header_nritems(upper) - 1) in push_leaf_right()
3764 right = read_node_slot(root, upper, slot + 1); in push_leaf_right()
3777 slot + 1, &right); in push_leaf_right()
3977 int slot; in push_leaf_left() local
3982 slot = path->slots[1]; in push_leaf_left()
3983 if (slot == 0) in push_leaf_left()
3994 left = read_node_slot(root, path->nodes[1], slot - 1); in push_leaf_left()
4009 path->nodes[1], slot - 1, &left); in push_leaf_left()
4041 int slot, int mid, int nritems) in copy_for_split() argument
4083 BUG_ON(path->slots[0] != slot); in copy_for_split()
4085 if (mid <= slot) { in copy_for_split()
4116 int slot; in push_for_double_split() local
4120 slot = path->slots[0]; in push_for_double_split()
4121 if (slot < btrfs_header_nritems(path->nodes[0])) in push_for_double_split()
4128 ret = push_leaf_right(trans, root, path, 1, space_needed, 0, slot); in push_for_double_split()
4147 slot = path->slots[0]; in push_for_double_split()
4148 ret = push_leaf_left(trans, root, path, 1, space_needed, 0, slot); in push_for_double_split()
4176 int slot; in split_leaf() local
4186 slot = path->slots[0]; in split_leaf()
4187 if (extend && data_size + btrfs_item_size_nr(l, slot) + in split_leaf()
4195 if (slot < btrfs_header_nritems(l)) in split_leaf()
4223 slot = path->slots[0]; in split_leaf()
4227 if (mid <= slot) { in split_leaf()
4231 if (slot >= nritems) { in split_leaf()
4234 mid = slot; in split_leaf()
4247 if (!extend && data_size && slot == 0) { in split_leaf()
4249 } else if ((extend || !data_size) && slot == 0) { in split_leaf()
4252 mid = slot; in split_leaf()
4290 if (mid <= slot) { in split_leaf()
4314 copy_for_split(trans, root, path, l, right, slot, mid, nritems); in split_leaf()
4408 int slot; in split_item() local
4431 slot = path->slots[0] + 1; in split_item()
4433 if (slot != nritems) { in split_item()
4435 memmove_extent_buffer(leaf, btrfs_item_nr_offset(slot + 1), in split_item()
4436 btrfs_item_nr_offset(slot), in split_item()
4437 (nritems - slot) * sizeof(struct btrfs_item)); in split_item()
4441 btrfs_set_item_key(leaf, &disk_key, slot); in split_item()
4443 new_item = btrfs_item_nr(slot); in split_item()
4461 btrfs_item_ptr_offset(leaf, slot), in split_item()
4546 int slot; in btrfs_truncate_item() local
4560 slot = path->slots[0]; in btrfs_truncate_item()
4562 old_size = btrfs_item_size_nr(leaf, slot); in btrfs_truncate_item()
4569 old_data_start = btrfs_item_offset_nr(leaf, slot); in btrfs_truncate_item()
4573 BUG_ON(slot < 0); in btrfs_truncate_item()
4574 BUG_ON(slot >= nritems); in btrfs_truncate_item()
4580 for (i = slot; i < nritems; i++) { in btrfs_truncate_item()
4598 btrfs_item_key(leaf, &disk_key, slot); in btrfs_truncate_item()
4604 fi = btrfs_item_ptr(leaf, slot, in btrfs_truncate_item()
4611 ptr = btrfs_item_ptr_offset(leaf, slot); in btrfs_truncate_item()
4624 btrfs_set_item_key(leaf, &disk_key, slot); in btrfs_truncate_item()
4625 if (slot == 0) in btrfs_truncate_item()
4629 item = btrfs_item_nr(slot); in btrfs_truncate_item()
4645 int slot; in btrfs_extend_item() local
4666 slot = path->slots[0]; in btrfs_extend_item()
4667 old_data = btrfs_item_end_nr(leaf, slot); in btrfs_extend_item()
4669 BUG_ON(slot < 0); in btrfs_extend_item()
4670 if (slot >= nritems) { in btrfs_extend_item()
4673 slot, nritems); in btrfs_extend_item()
4681 for (i = slot; i < nritems; i++) { in btrfs_extend_item()
4696 old_size = btrfs_item_size_nr(leaf, slot); in btrfs_extend_item()
4697 item = btrfs_item_nr(slot); in btrfs_extend_item()
4722 int slot; in setup_items_for_insert() local
4734 slot = path->slots[0]; in setup_items_for_insert()
4746 if (slot != nritems) { in setup_items_for_insert()
4747 unsigned int old_data = btrfs_item_end_nr(leaf, slot); in setup_items_for_insert()
4752 slot, old_data, data_end); in setup_items_for_insert()
4759 for (i = slot; i < nritems; i++) { in setup_items_for_insert()
4768 memmove_extent_buffer(leaf, btrfs_item_nr_offset(slot + nr), in setup_items_for_insert()
4769 btrfs_item_nr_offset(slot), in setup_items_for_insert()
4770 (nritems - slot) * sizeof(struct btrfs_item)); in setup_items_for_insert()
4782 btrfs_set_item_key(leaf, &disk_key, slot + i); in setup_items_for_insert()
4783 item = btrfs_item_nr(slot + i); in setup_items_for_insert()
4810 int slot; in btrfs_insert_empty_items() local
4825 slot = path->slots[0]; in btrfs_insert_empty_items()
4826 BUG_ON(slot < 0); in btrfs_insert_empty_items()
4867 int level, int slot) in del_ptr() argument
4874 if (slot != nritems - 1) { in del_ptr()
4876 tree_mod_log_eb_move(root->fs_info, parent, slot, in del_ptr()
4877 slot + 1, nritems - slot - 1); in del_ptr()
4879 btrfs_node_key_ptr_offset(slot), in del_ptr()
4880 btrfs_node_key_ptr_offset(slot + 1), in del_ptr()
4882 (nritems - slot - 1)); in del_ptr()
4884 ret = tree_mod_log_insert_key(root->fs_info, parent, slot, in del_ptr()
4895 } else if (slot == 0) { in del_ptr()
4939 struct btrfs_path *path, int slot, int nr) in btrfs_del_items() argument
4954 last_off = btrfs_item_offset_nr(leaf, slot + nr - 1); in btrfs_del_items()
4957 dsize += btrfs_item_size_nr(leaf, slot + i); in btrfs_del_items()
4961 if (slot + nr != nritems) { in btrfs_del_items()
4969 for (i = slot + nr; i < nritems; i++) { in btrfs_del_items()
4978 memmove_extent_buffer(leaf, btrfs_item_nr_offset(slot), in btrfs_del_items()
4979 btrfs_item_nr_offset(slot + nr), in btrfs_del_items()
4981 (nritems - slot - nr)); in btrfs_del_items()
4997 if (slot == 0) { in btrfs_del_items()
5010 slot = path->slots[1]; in btrfs_del_items()
5028 path->slots[1] = slot; in btrfs_del_items()
5127 int slot; in btrfs_search_forward() local
5149 sret = bin_search(cur, min_key, level, &slot); in btrfs_search_forward()
5153 if (slot >= nritems) in btrfs_search_forward()
5156 path->slots[level] = slot; in btrfs_search_forward()
5157 btrfs_item_key_to_cpu(cur, &found_key, slot); in btrfs_search_forward()
5160 if (sret && slot > 0) in btrfs_search_forward()
5161 slot--; in btrfs_search_forward()
5166 while (slot < nritems) { in btrfs_search_forward()
5169 gen = btrfs_node_ptr_generation(cur, slot); in btrfs_search_forward()
5171 slot++; in btrfs_search_forward()
5181 if (slot >= nritems) { in btrfs_search_forward()
5182 path->slots[level] = slot; in btrfs_search_forward()
5194 btrfs_node_key_to_cpu(cur, &found_key, slot); in btrfs_search_forward()
5195 path->slots[level] = slot; in btrfs_search_forward()
5201 cur = read_node_slot(root, cur, slot); in btrfs_search_forward()
5587 int slot; in btrfs_find_next_key() local
5595 slot = path->slots[level] + 1; in btrfs_find_next_key()
5598 if (slot >= btrfs_header_nritems(c)) { in btrfs_find_next_key()
5611 slot = btrfs_header_nritems(c) - 1; in btrfs_find_next_key()
5613 btrfs_item_key_to_cpu(c, &cur_key, slot); in btrfs_find_next_key()
5615 btrfs_node_key_to_cpu(c, &cur_key, slot); in btrfs_find_next_key()
5627 slot = path->slots[level]; in btrfs_find_next_key()
5629 slot++; in btrfs_find_next_key()
5634 btrfs_item_key_to_cpu(c, key, slot); in btrfs_find_next_key()
5636 u64 gen = btrfs_node_ptr_generation(c, slot); in btrfs_find_next_key()
5639 slot++; in btrfs_find_next_key()
5642 btrfs_node_key_to_cpu(c, key, slot); in btrfs_find_next_key()
5662 int slot; in btrfs_next_old_leaf() local
5733 slot = path->slots[level] + 1; in btrfs_next_old_leaf()
5735 if (slot >= btrfs_header_nritems(c)) { in btrfs_next_old_leaf()
5752 slot, &key, 0); in btrfs_next_old_leaf()
5786 path->slots[level] = slot; in btrfs_next_old_leaf()