Lines Matching refs:key
142 struct btrfs_key key; member
582 struct btrfs_key key; in read_fs_root() local
584 key.objectid = root_objectid; in read_fs_root()
585 key.type = BTRFS_ROOT_ITEM_KEY; in read_fs_root()
587 key.offset = 0; in read_fs_root()
589 key.offset = (u64)-1; in read_fs_root()
591 return btrfs_read_fs_root_no_name(fs_info, &key); in read_fs_root()
621 struct btrfs_key key; in find_inline_backref() local
626 btrfs_item_key_to_cpu(leaf, &key, slot); in find_inline_backref()
639 if (key.type == BTRFS_EXTENT_ITEM_KEY && in find_inline_backref()
645 if (key.type == BTRFS_EXTENT_ITEM_KEY) { in find_inline_backref()
686 struct btrfs_key key; local
717 key.objectid = cur->bytenr;
718 key.type = BTRFS_METADATA_ITEM_KEY;
719 key.offset = (u64)-1;
723 ret = btrfs_search_slot(NULL, rc->extent_root, &key, path1,
770 btrfs_item_key_to_cpu(eb, &key, path1->slots[0]);
771 if (key.objectid != cur->bytenr) {
776 if (key.type == BTRFS_EXTENT_ITEM_KEY ||
777 key.type == BTRFS_METADATA_ITEM_KEY) {
789 key.type = btrfs_extent_inline_ref_type(eb, iref);
790 key.offset = btrfs_extent_inline_ref_offset(eb, iref);
791 WARN_ON(key.type != BTRFS_TREE_BLOCK_REF_KEY &&
792 key.type != BTRFS_SHARED_BLOCK_REF_KEY);
796 ((key.type == BTRFS_TREE_BLOCK_REF_KEY &&
797 exist->owner == key.offset) ||
798 (key.type == BTRFS_SHARED_BLOCK_REF_KEY &&
799 exist->bytenr == key.offset))) {
805 if (key.type == BTRFS_SHARED_BLOCK_REF_KEY ||
806 key.type == BTRFS_EXTENT_REF_V0_KEY) {
807 if (key.type == BTRFS_EXTENT_REF_V0_KEY) {
811 if (key.objectid == key.offset) {
824 BUG_ON(key.type == BTRFS_EXTENT_REF_V0_KEY);
825 if (key.type == BTRFS_SHARED_BLOCK_REF_KEY) {
827 if (key.objectid == key.offset) {
843 rb_node = tree_search(&cache->rb_root, key.offset);
851 upper->bytenr = key.offset;
869 } else if (key.type != BTRFS_TREE_BLOCK_REF_KEY) {
874 root = read_fs_root(rc->extent_root->fs_info, key.offset);
992 ptr += btrfs_extent_inline_ref_size(key.type);
1497 if (bytenr >= block_group->key.objectid &&
1498 bytenr < block_group->key.objectid + block_group->key.offset)
1560 struct btrfs_key key; local
1586 btrfs_item_key_to_cpu(leaf, &key, i);
1587 if (key.type != BTRFS_EXTENT_DATA_KEY)
1606 inode = find_next_inode(root, key.objectid);
1608 } else if (inode && btrfs_ino(inode) < key.objectid) {
1610 inode = find_next_inode(root, key.objectid);
1612 if (inode && btrfs_ino(inode) == key.objectid) {
1613 end = key.offset +
1615 WARN_ON(!IS_ALIGNED(key.offset,
1620 key.offset, end);
1624 btrfs_drop_extent_cache(inode, key.offset, end,
1627 key.offset, end);
1642 key.offset -= btrfs_file_extent_offset(leaf, fi);
1646 key.objectid, key.offset, 1);
1651 key.objectid, key.offset, 1);
1689 struct btrfs_key key; local
1707 btrfs_node_key_to_cpu(path->nodes[lowest_level], &key, slot);
1736 ret = btrfs_bin_search(parent, &key, level, &slot);
1800 btrfs_node_key_to_cpu(path->nodes[level], &key,
1805 ret = btrfs_search_slot(trans, src, &key, path, 0, 1);
2014 struct btrfs_key *key) argument
2022 btrfs_node_key_to_cpu(path->nodes[level], key,
2039 struct btrfs_key key; local
2067 btrfs_disk_key_to_cpu(&key, &root_item->drop_progress);
2072 ret = btrfs_search_slot(NULL, reloc_root, &key, path, 0, 0);
2081 WARN_ON(memcmp(&key, &next_key, sizeof(key)));
2114 if (!find_next_key(path, level, &key) &&
2115 btrfs_comp_cpu_keys(&next_key, &key) >= 0) {
2128 btrfs_node_key_to_cpu(path->nodes[level], &key,
2151 invalidate_extent_cache(root, &key, &next_key);
2180 invalidate_extent_cache(root, &key, &next_key);
2535 struct btrfs_key *key, argument
2564 ret = btrfs_bin_search(upper->eb, key,
2575 ret = btrfs_search_slot(trans, root, key, path, 0, 1);
2595 ret = btrfs_bin_search(upper->eb, key, upper->level,
2671 struct btrfs_key key; local
2673 btrfs_node_key_to_cpu(node->eb, &key, 0);
2674 return do_relocation(trans, rc, node, &key, path, 0);
2772 block->key.objectid, block->key.offset);
2779 btrfs_item_key_to_cpu(eb, &block->key, 0);
2781 btrfs_node_key_to_cpu(eb, &block->key, 0);
2791 if (block->key.type == BTRFS_METADATA_ITEM_KEY)
2793 block->key.objectid,
2797 block->key.objectid, block->key.offset);
2807 struct btrfs_key *key, argument
2842 ret = btrfs_search_slot(trans, root, key, path, 0, 1);
2850 ret = do_relocation(trans, rc, node, key, path, 1);
2904 node = build_backref_tree(rc, &block->key,
2911 ret = relocate_tree_block(trans, rc, node, &block->key,
3151 struct btrfs_key key; local
3170 btrfs_item_key_to_cpu(leaf, &key, slot);
3171 if (key.objectid != extent_key->objectid)
3174 if (key.type != BTRFS_EXTENT_REF_V0_KEY) {
3247 block->key.objectid = rc->extent_root->leafsize;
3248 block->key.offset = generation;
3267 struct btrfs_key key; local
3280 key.objectid = bytenr;
3281 key.type = BTRFS_EXTENT_ITEM_KEY;
3282 key.offset = blocksize;
3286 ret = btrfs_search_slot(NULL, rc->extent_root, &key, path, 0, 0);
3290 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
3292 if (key.objectid == bytenr &&
3293 key.type == BTRFS_METADATA_ITEM_KEY)
3298 ret = add_tree_block(rc, &key, path, blocks);
3332 struct btrfs_key key; local
3341 key.objectid = ino;
3342 key.type = BTRFS_INODE_ITEM_KEY;
3343 key.offset = 0;
3345 inode = btrfs_iget(fs_info->sb, &key, root, NULL);
3396 struct btrfs_key key; local
3435 key.objectid = ref_objectid;
3436 key.type = BTRFS_EXTENT_DATA_KEY;
3438 key.offset = 0;
3440 key.offset = ref_offset;
3444 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
3497 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
3498 if (key.objectid != ref_objectid ||
3499 key.type != BTRFS_EXTENT_DATA_KEY) {
3515 key.offset -= btrfs_file_extent_offset(leaf, fi);
3516 if (key.offset != ref_offset)
3531 btrfs_item_key_to_cpu(leaf, &block->key, 0);
3562 struct btrfs_key key; local
3584 key.type = btrfs_extent_inline_ref_type(eb, iref);
3585 if (key.type == BTRFS_SHARED_DATA_REF_KEY) {
3586 key.offset = btrfs_extent_inline_ref_offset(eb, iref);
3587 ret = __add_tree_block(rc, key.offset, blocksize,
3589 } else if (key.type == BTRFS_EXTENT_DATA_REF_KEY) {
3596 ptr += btrfs_extent_inline_ref_size(key.type);
3614 btrfs_item_key_to_cpu(eb, &key, path->slots[0]);
3615 if (key.objectid != extent_key->objectid)
3619 if (key.type == BTRFS_SHARED_DATA_REF_KEY ||
3620 key.type == BTRFS_EXTENT_REF_V0_KEY) {
3622 BUG_ON(key.type == BTRFS_EXTENT_REF_V0_KEY);
3623 if (key.type == BTRFS_SHARED_DATA_REF_KEY) {
3625 ret = __add_tree_block(rc, key.offset, blocksize,
3627 } else if (key.type == BTRFS_EXTENT_DATA_REF_KEY) {
3655 struct btrfs_key key; local
3660 last = rc->block_group->key.objectid + rc->block_group->key.offset;
3668 key.objectid = rc->search_start;
3669 key.type = BTRFS_EXTENT_ITEM_KEY;
3670 key.offset = 0;
3674 ret = btrfs_search_slot(NULL, rc->extent_root, &key, path,
3687 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
3688 if (key.objectid >= last) {
3693 if (key.type != BTRFS_EXTENT_ITEM_KEY &&
3694 key.type != BTRFS_METADATA_ITEM_KEY) {
3699 if (key.type == BTRFS_EXTENT_ITEM_KEY &&
3700 key.objectid + key.offset <= rc->search_start) {
3705 if (key.type == BTRFS_METADATA_ITEM_KEY &&
3706 key.objectid + rc->extent_root->leafsize <=
3713 key.objectid, &start, &end,
3716 if (ret == 0 && start <= key.objectid) {
3720 if (key.type == BTRFS_EXTENT_ITEM_KEY)
3721 rc->search_start = key.objectid + key.offset;
3723 rc->search_start = key.objectid +
3725 memcpy(extent_key, &key, sizeof(key));
3788 rc->search_start = rc->block_group->key.objectid;
3813 struct btrfs_key key; local
3848 ret = find_next_extent(trans, rc, path, &key);
3871 ret = get_ref_objectid_v0(rc, path, &key, &ref_owner,
3884 &key, path, 0, 0);
3897 ret = add_tree_block(rc, &key, path, &blocks);
3900 ret = add_data_references(rc, &key, path, &blocks);
3918 rc->search_start = key.objectid;
3946 &key, &rc->cluster);
4047 struct btrfs_key key; local
4066 key.objectid = objectid;
4067 key.type = BTRFS_INODE_ITEM_KEY;
4068 key.offset = 0;
4069 inode = btrfs_iget(root->fs_info->sb, &key, root, NULL);
4071 BTRFS_I(inode)->index_cnt = group->key.objectid;
4160 (unsigned long long)rc->block_group->key.objectid,
4194 rc->block_group->key.objectid,
4195 rc->block_group->key.objectid +
4196 rc->block_group->key.offset - 1);
4241 struct btrfs_key key; local
4256 key.objectid = BTRFS_TREE_RELOC_OBJECTID;
4257 key.type = BTRFS_ROOT_ITEM_KEY;
4258 key.offset = (u64)-1;
4261 ret = btrfs_search_slot(NULL, root->fs_info->tree_root, &key,
4273 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
4276 if (key.objectid != BTRFS_TREE_RELOC_OBJECTID ||
4277 key.type != BTRFS_ROOT_ITEM_KEY)
4280 reloc_root = btrfs_read_fs_root_no_radix(root, &key);
4305 if (key.offset == 0)
4308 key.offset--;