Lines Matching refs:slot
41 int level, int slot);
322 int slot; member
569 struct extent_buffer *eb, int slot, in __tree_mod_log_insert_key() argument
581 btrfs_node_key(eb, &tm->key, slot); in __tree_mod_log_insert_key()
582 tm->blockptr = btrfs_node_blockptr(eb, slot); in __tree_mod_log_insert_key()
585 tm->slot = slot; in __tree_mod_log_insert_key()
586 tm->generation = btrfs_node_ptr_generation(eb, slot); in __tree_mod_log_insert_key()
593 struct extent_buffer *eb, int slot, in tree_mod_log_insert_key_mask() argument
601 ret = __tree_mod_log_insert_key(fs_info, eb, slot, op, flags); in tree_mod_log_insert_key_mask()
609 int slot, enum mod_log_op op) in tree_mod_log_insert_key() argument
611 return tree_mod_log_insert_key_mask(fs_info, eb, slot, op, GFP_NOFS); in tree_mod_log_insert_key()
616 struct extent_buffer *eb, int slot, in tree_mod_log_insert_key_locked() argument
619 return __tree_mod_log_insert_key(fs_info, eb, slot, op, GFP_NOFS); in tree_mod_log_insert_key_locked()
650 tm->slot = src_slot; in tree_mod_log_insert_move()
818 struct extent_buffer *eb, int slot, int atomic) in tree_mod_log_set_node_key() argument
822 ret = tree_mod_log_insert_key_mask(fs_info, eb, slot, in tree_mod_log_set_node_key()
1183 BUG_ON(tm->slot < n); in __tree_mod_log_rewind()
1187 btrfs_set_node_key(eb, &tm->key, tm->slot); in __tree_mod_log_rewind()
1188 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); in __tree_mod_log_rewind()
1189 btrfs_set_node_ptr_generation(eb, tm->slot, in __tree_mod_log_rewind()
1194 BUG_ON(tm->slot >= n); in __tree_mod_log_rewind()
1195 btrfs_set_node_key(eb, &tm->key, tm->slot); in __tree_mod_log_rewind()
1196 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); in __tree_mod_log_rewind()
1197 btrfs_set_node_ptr_generation(eb, tm->slot, in __tree_mod_log_rewind()
1205 o_dst = btrfs_node_key_ptr_offset(tm->slot); in __tree_mod_log_rewind()
1257 BUG_ON(tm->slot != 0); in tree_mod_log_rewind()
1631 int max, int *slot) in generic_bin_search() argument
1677 *slot = mid; in generic_bin_search()
1681 *slot = low; in generic_bin_search()
1690 int level, int *slot) in bin_search() argument
1697 slot); in bin_search()
1703 slot); in bin_search()
1707 int level, int *slot) in btrfs_bin_search() argument
1709 return bin_search(eb, key, level, slot); in btrfs_bin_search()
1733 struct extent_buffer *parent, int slot) in read_node_slot() argument
1738 if (slot < 0) in read_node_slot()
1740 if (slot >= btrfs_header_nritems(parent)) in read_node_slot()
1745 eb = read_tree_block(root, btrfs_node_blockptr(parent, slot), in read_node_slot()
1747 btrfs_node_ptr_generation(parent, slot)); in read_node_slot()
2117 int level, int slot, u64 objectid) in reada_for_search() argument
2140 search = btrfs_node_blockptr(node, slot); in reada_for_search()
2151 nr = slot; in reada_for_search()
2188 int slot; in reada_for_balance() local
2203 slot = path->slots[level + 1]; in reada_for_balance()
2206 if (slot > 0) { in reada_for_balance()
2207 block1 = btrfs_node_blockptr(parent, slot - 1); in reada_for_balance()
2208 gen = btrfs_node_ptr_generation(parent, slot - 1); in reada_for_balance()
2219 if (slot + 1 < nritems) { in reada_for_balance()
2220 block2 = btrfs_node_blockptr(parent, slot + 1); in reada_for_balance()
2221 gen = btrfs_node_ptr_generation(parent, slot + 1); in reada_for_balance()
2345 struct extent_buffer **eb_ret, int level, int slot, in read_block_for_search() argument
2355 blocknr = btrfs_node_blockptr(b, slot); in read_block_for_search()
2356 gen = btrfs_node_ptr_generation(b, slot); in read_block_for_search()
2405 reada_for_search(root, p, level, slot, key->objectid); in read_block_for_search()
2520 int slot; in btrfs_search_slot() local
2660 ret = bin_search(b, key, level, &slot); in btrfs_search_slot()
2664 if (ret && slot > 0) { in btrfs_search_slot()
2666 slot -= 1; in btrfs_search_slot()
2668 p->slots[level] = slot; in btrfs_search_slot()
2678 slot = p->slots[level]; in btrfs_search_slot()
2686 if (slot == 0 && cow && in btrfs_search_slot()
2703 &b, level, slot, key, 0); in btrfs_search_slot()
2735 p->slots[level] = slot; in btrfs_search_slot()
2789 int slot; in btrfs_search_old_slot() local
2822 ret = bin_search(b, key, level, &slot); in btrfs_search_old_slot()
2826 if (ret && slot > 0) { in btrfs_search_old_slot()
2828 slot -= 1; in btrfs_search_old_slot()
2830 p->slots[level] = slot; in btrfs_search_old_slot()
2840 slot, key, time_seq); in btrfs_search_old_slot()
2860 p->slots[level] = slot; in btrfs_search_old_slot()
2987 int slot; in btrfs_set_item_key_safe() local
2990 slot = path->slots[0]; in btrfs_set_item_key_safe()
2991 if (slot > 0) { in btrfs_set_item_key_safe()
2992 btrfs_item_key(eb, &disk_key, slot - 1); in btrfs_set_item_key_safe()
2995 if (slot < btrfs_header_nritems(eb) - 1) { in btrfs_set_item_key_safe()
2996 btrfs_item_key(eb, &disk_key, slot + 1); in btrfs_set_item_key_safe()
3001 btrfs_set_item_key(eb, &disk_key, slot); in btrfs_set_item_key_safe()
3003 if (slot == 0) in btrfs_set_item_key_safe()
3221 int slot, int level) in insert_ptr() argument
3231 BUG_ON(slot > nritems); in insert_ptr()
3233 if (slot != nritems) { in insert_ptr()
3235 tree_mod_log_eb_move(root->fs_info, lower, slot + 1, in insert_ptr()
3236 slot, nritems - slot); in insert_ptr()
3238 btrfs_node_key_ptr_offset(slot + 1), in insert_ptr()
3239 btrfs_node_key_ptr_offset(slot), in insert_ptr()
3240 (nritems - slot) * sizeof(struct btrfs_key_ptr)); in insert_ptr()
3243 ret = tree_mod_log_insert_key(root->fs_info, lower, slot, in insert_ptr()
3247 btrfs_set_node_key(lower, key, slot); in insert_ptr()
3248 btrfs_set_node_blockptr(lower, slot, bytenr); in insert_ptr()
3250 btrfs_set_node_ptr_generation(lower, slot, trans->transid); in insert_ptr()
3417 int slot; in __push_leaf_right() local
3437 slot = path->slots[1]; in __push_leaf_right()
3520 btrfs_set_node_key(upper, &disk_key, slot + 1); in __push_leaf_right()
3562 int slot; in push_leaf_right() local
3570 slot = path->slots[1]; in push_leaf_right()
3572 if (slot >= btrfs_header_nritems(upper) - 1) in push_leaf_right()
3577 right = read_node_slot(root, upper, slot + 1); in push_leaf_right()
3590 slot + 1, &right); in push_leaf_right()
3778 int slot; in push_leaf_left() local
3783 slot = path->slots[1]; in push_leaf_left()
3784 if (slot == 0) in push_leaf_left()
3795 left = read_node_slot(root, path->nodes[1], slot - 1); in push_leaf_left()
3810 path->nodes[1], slot - 1, &left); in push_leaf_left()
3842 int slot, int mid, int nritems) in copy_for_split() argument
3884 BUG_ON(path->slots[0] != slot); in copy_for_split()
3886 if (mid <= slot) { in copy_for_split()
3917 int slot; in push_for_double_split() local
3920 slot = path->slots[0]; in push_for_double_split()
3926 ret = push_leaf_right(trans, root, path, 1, data_size, 0, slot); in push_for_double_split()
3945 slot = path->slots[0]; in push_for_double_split()
3946 ret = push_leaf_left(trans, root, path, 1, data_size, 0, slot); in push_for_double_split()
3974 int slot; in split_leaf() local
3983 slot = path->slots[0]; in split_leaf()
3984 if (extend && data_size + btrfs_item_size_nr(l, slot) + in split_leaf()
4015 slot = path->slots[0]; in split_leaf()
4019 if (mid <= slot) { in split_leaf()
4023 if (slot >= nritems) { in split_leaf()
4026 mid = slot; in split_leaf()
4039 if (!extend && data_size && slot == 0) { in split_leaf()
4041 } else if ((extend || !data_size) && slot == 0) { in split_leaf()
4044 mid = slot; in split_leaf()
4084 if (mid <= slot) { in split_leaf()
4108 copy_for_split(trans, root, path, l, right, slot, mid, nritems); in split_leaf()
4200 int slot; in split_item() local
4223 slot = path->slots[0] + 1; in split_item()
4225 if (slot != nritems) { in split_item()
4227 memmove_extent_buffer(leaf, btrfs_item_nr_offset(slot + 1), in split_item()
4228 btrfs_item_nr_offset(slot), in split_item()
4229 (nritems - slot) * sizeof(struct btrfs_item)); in split_item()
4233 btrfs_set_item_key(leaf, &disk_key, slot); in split_item()
4235 new_item = btrfs_item_nr(leaf, slot); in split_item()
4253 btrfs_item_ptr_offset(leaf, slot), in split_item()
4338 int slot; in btrfs_truncate_item() local
4352 slot = path->slots[0]; in btrfs_truncate_item()
4354 old_size = btrfs_item_size_nr(leaf, slot); in btrfs_truncate_item()
4361 old_data_start = btrfs_item_offset_nr(leaf, slot); in btrfs_truncate_item()
4365 BUG_ON(slot < 0); in btrfs_truncate_item()
4366 BUG_ON(slot >= nritems); in btrfs_truncate_item()
4372 for (i = slot; i < nritems; i++) { in btrfs_truncate_item()
4390 btrfs_item_key(leaf, &disk_key, slot); in btrfs_truncate_item()
4396 fi = btrfs_item_ptr(leaf, slot, in btrfs_truncate_item()
4403 ptr = btrfs_item_ptr_offset(leaf, slot); in btrfs_truncate_item()
4417 btrfs_set_item_key(leaf, &disk_key, slot); in btrfs_truncate_item()
4418 if (slot == 0) in btrfs_truncate_item()
4422 item = btrfs_item_nr(leaf, slot); in btrfs_truncate_item()
4438 int slot; in btrfs_extend_item() local
4459 slot = path->slots[0]; in btrfs_extend_item()
4460 old_data = btrfs_item_end_nr(leaf, slot); in btrfs_extend_item()
4462 BUG_ON(slot < 0); in btrfs_extend_item()
4463 if (slot >= nritems) { in btrfs_extend_item()
4466 slot, nritems); in btrfs_extend_item()
4474 for (i = slot; i < nritems; i++) { in btrfs_extend_item()
4489 old_size = btrfs_item_size_nr(leaf, slot); in btrfs_extend_item()
4490 item = btrfs_item_nr(leaf, slot); in btrfs_extend_item()
4515 int slot; in setup_items_for_insert() local
4521 slot = path->slots[0]; in setup_items_for_insert()
4533 if (slot != nritems) { in setup_items_for_insert()
4534 unsigned int old_data = btrfs_item_end_nr(leaf, slot); in setup_items_for_insert()
4539 slot, old_data, data_end); in setup_items_for_insert()
4546 for (i = slot; i < nritems; i++) { in setup_items_for_insert()
4555 memmove_extent_buffer(leaf, btrfs_item_nr_offset(slot + nr), in setup_items_for_insert()
4556 btrfs_item_nr_offset(slot), in setup_items_for_insert()
4557 (nritems - slot) * sizeof(struct btrfs_item)); in setup_items_for_insert()
4569 btrfs_set_item_key(leaf, &disk_key, slot + i); in setup_items_for_insert()
4570 item = btrfs_item_nr(leaf, slot + i); in setup_items_for_insert()
4579 if (slot == 0) { in setup_items_for_insert()
4603 int slot; in btrfs_insert_empty_items() local
4618 slot = path->slots[0]; in btrfs_insert_empty_items()
4619 BUG_ON(slot < 0); in btrfs_insert_empty_items()
4660 int level, int slot) in del_ptr() argument
4667 if (slot != nritems - 1) { in del_ptr()
4669 tree_mod_log_eb_move(root->fs_info, parent, slot, in del_ptr()
4670 slot + 1, nritems - slot - 1); in del_ptr()
4672 btrfs_node_key_ptr_offset(slot), in del_ptr()
4673 btrfs_node_key_ptr_offset(slot + 1), in del_ptr()
4675 (nritems - slot - 1)); in del_ptr()
4677 ret = tree_mod_log_insert_key(root->fs_info, parent, slot, in del_ptr()
4688 } else if (slot == 0) { in del_ptr()
4732 struct btrfs_path *path, int slot, int nr) in btrfs_del_items() argument
4747 last_off = btrfs_item_offset_nr(leaf, slot + nr - 1); in btrfs_del_items()
4750 dsize += btrfs_item_size_nr(leaf, slot + i); in btrfs_del_items()
4754 if (slot + nr != nritems) { in btrfs_del_items()
4762 for (i = slot + nr; i < nritems; i++) { in btrfs_del_items()
4771 memmove_extent_buffer(leaf, btrfs_item_nr_offset(slot), in btrfs_del_items()
4772 btrfs_item_nr_offset(slot + nr), in btrfs_del_items()
4774 (nritems - slot - nr)); in btrfs_del_items()
4790 if (slot == 0) { in btrfs_del_items()
4803 slot = path->slots[1]; in btrfs_del_items()
4821 path->slots[1] = slot; in btrfs_del_items()
4907 int slot; in btrfs_search_forward() local
4928 sret = bin_search(cur, min_key, level, &slot); in btrfs_search_forward()
4932 if (slot >= nritems) in btrfs_search_forward()
4935 path->slots[level] = slot; in btrfs_search_forward()
4936 btrfs_item_key_to_cpu(cur, &found_key, slot); in btrfs_search_forward()
4939 if (sret && slot > 0) in btrfs_search_forward()
4940 slot--; in btrfs_search_forward()
4945 while (slot < nritems) { in btrfs_search_forward()
4949 blockptr = btrfs_node_blockptr(cur, slot); in btrfs_search_forward()
4950 gen = btrfs_node_ptr_generation(cur, slot); in btrfs_search_forward()
4952 slot++; in btrfs_search_forward()
4962 if (slot >= nritems) { in btrfs_search_forward()
4963 path->slots[level] = slot; in btrfs_search_forward()
4975 btrfs_node_key_to_cpu(cur, &found_key, slot); in btrfs_search_forward()
4976 path->slots[level] = slot; in btrfs_search_forward()
4983 cur = read_node_slot(root, cur, slot); in btrfs_search_forward()
5442 int slot; in btrfs_find_next_key() local
5450 slot = path->slots[level] + 1; in btrfs_find_next_key()
5453 if (slot >= btrfs_header_nritems(c)) { in btrfs_find_next_key()
5466 slot = btrfs_header_nritems(c) - 1; in btrfs_find_next_key()
5468 btrfs_item_key_to_cpu(c, &cur_key, slot); in btrfs_find_next_key()
5470 btrfs_node_key_to_cpu(c, &cur_key, slot); in btrfs_find_next_key()
5482 slot = path->slots[level]; in btrfs_find_next_key()
5484 slot++; in btrfs_find_next_key()
5489 btrfs_item_key_to_cpu(c, key, slot); in btrfs_find_next_key()
5491 u64 gen = btrfs_node_ptr_generation(c, slot); in btrfs_find_next_key()
5494 slot++; in btrfs_find_next_key()
5497 btrfs_node_key_to_cpu(c, key, slot); in btrfs_find_next_key()
5517 int slot; in btrfs_next_old_leaf() local
5570 slot = path->slots[level] + 1; in btrfs_next_old_leaf()
5572 if (slot >= btrfs_header_nritems(c)) { in btrfs_next_old_leaf()
5589 slot, &key, 0); in btrfs_next_old_leaf()
5623 path->slots[level] = slot; in btrfs_next_old_leaf()