Lines Matching refs:key

143 	struct btrfs_key key;  member
586 struct btrfs_key key; in read_fs_root() local
588 key.objectid = root_objectid; in read_fs_root()
589 key.type = BTRFS_ROOT_ITEM_KEY; in read_fs_root()
591 key.offset = 0; in read_fs_root()
593 key.offset = (u64)-1; in read_fs_root()
595 return btrfs_get_fs_root(fs_info, &key, false); in read_fs_root()
625 struct btrfs_key key; in find_inline_backref() local
630 btrfs_item_key_to_cpu(leaf, &key, slot); in find_inline_backref()
643 if (key.type == BTRFS_EXTENT_ITEM_KEY && in find_inline_backref()
648 if (key.type == BTRFS_METADATA_ITEM_KEY && in find_inline_backref()
654 if (key.type == BTRFS_EXTENT_ITEM_KEY) { in find_inline_backref()
695 struct btrfs_key key; local
727 key.objectid = cur->bytenr;
728 key.type = BTRFS_METADATA_ITEM_KEY;
729 key.offset = (u64)-1;
733 ret = btrfs_search_slot(NULL, rc->extent_root, &key, path1,
781 btrfs_item_key_to_cpu(eb, &key, path1->slots[0]);
782 if (key.objectid != cur->bytenr) {
787 if (key.type == BTRFS_EXTENT_ITEM_KEY ||
788 key.type == BTRFS_METADATA_ITEM_KEY) {
800 key.type = btrfs_extent_inline_ref_type(eb, iref);
801 key.offset = btrfs_extent_inline_ref_offset(eb, iref);
802 WARN_ON(key.type != BTRFS_TREE_BLOCK_REF_KEY &&
803 key.type != BTRFS_SHARED_BLOCK_REF_KEY);
807 ((key.type == BTRFS_TREE_BLOCK_REF_KEY &&
808 exist->owner == key.offset) ||
809 (key.type == BTRFS_SHARED_BLOCK_REF_KEY &&
810 exist->bytenr == key.offset))) {
816 if (key.type == BTRFS_SHARED_BLOCK_REF_KEY ||
817 key.type == BTRFS_EXTENT_REF_V0_KEY) {
818 if (key.type == BTRFS_EXTENT_REF_V0_KEY) {
822 if (key.objectid == key.offset) {
835 ASSERT(key.type != BTRFS_EXTENT_REF_V0_KEY);
836 if (key.type == BTRFS_SHARED_BLOCK_REF_KEY) {
838 if (key.objectid == key.offset) {
854 rb_node = tree_search(&cache->rb_root, key.offset);
862 upper->bytenr = key.offset;
880 } else if (key.type != BTRFS_TREE_BLOCK_REF_KEY) {
885 root = read_fs_root(rc->extent_root->fs_info, key.offset);
1006 ptr += btrfs_extent_inline_ref_size(key.type);
1568 if (bytenr >= block_group->key.objectid &&
1569 bytenr < block_group->key.objectid + block_group->key.offset)
1631 struct btrfs_key key; local
1657 btrfs_item_key_to_cpu(leaf, &key, i);
1658 if (key.type != BTRFS_EXTENT_DATA_KEY)
1677 inode = find_next_inode(root, key.objectid);
1679 } else if (inode && btrfs_ino(inode) < key.objectid) {
1681 inode = find_next_inode(root, key.objectid);
1683 if (inode && btrfs_ino(inode) == key.objectid) {
1684 end = key.offset +
1686 WARN_ON(!IS_ALIGNED(key.offset,
1691 key.offset, end);
1695 btrfs_drop_extent_cache(inode, key.offset, end,
1698 key.offset, end);
1715 key.offset -= btrfs_file_extent_offset(leaf, fi);
1719 key.objectid, key.offset);
1727 key.objectid, key.offset);
1768 struct btrfs_key key; local
1786 btrfs_node_key_to_cpu(path->nodes[lowest_level], &key, slot);
1815 ret = btrfs_bin_search(parent, &key, level, &slot);
1879 btrfs_node_key_to_cpu(path->nodes[level], &key,
1884 ret = btrfs_search_slot(trans, src, &key, path, 0, 1);
2091 struct btrfs_key *key) argument
2099 btrfs_node_key_to_cpu(path->nodes[level], key,
2116 struct btrfs_key key; local
2144 btrfs_disk_key_to_cpu(&key, &root_item->drop_progress);
2149 ret = btrfs_search_slot(NULL, reloc_root, &key, path, 0, 0);
2158 WARN_ON(memcmp(&key, &next_key, sizeof(key)));
2192 if (!find_next_key(path, level, &key) &&
2193 btrfs_comp_cpu_keys(&next_key, &key) >= 0) {
2206 btrfs_node_key_to_cpu(path->nodes[level], &key,
2230 invalidate_extent_cache(root, &key, &next_key);
2260 invalidate_extent_cache(root, &key, &next_key);
2639 struct btrfs_key *key, argument
2667 ret = btrfs_bin_search(upper->eb, key,
2678 ret = btrfs_search_slot(trans, root, key, path, 0, 1);
2698 ret = btrfs_bin_search(upper->eb, key, upper->level,
2777 struct btrfs_key key; local
2779 btrfs_node_key_to_cpu(node->eb, &key, 0);
2780 return do_relocation(trans, rc, node, &key, path, 0);
2879 block->key.offset);
2888 btrfs_item_key_to_cpu(eb, &block->key, 0);
2890 btrfs_node_key_to_cpu(eb, &block->key, 0);
2902 struct btrfs_key *key, argument
2935 ret = btrfs_search_slot(trans, root, key, path, 0, 1);
2943 ret = do_relocation(trans, rc, node, key, path, 1);
2994 node = build_backref_tree(rc, &block->key,
3001 ret = relocate_tree_block(trans, rc, node, &block->key,
3241 struct btrfs_key key; local
3260 btrfs_item_key_to_cpu(leaf, &key, slot);
3261 if (key.objectid != extent_key->objectid)
3264 if (key.type != BTRFS_EXTENT_REF_V0_KEY) {
3337 block->key.objectid = rc->extent_root->nodesize;
3338 block->key.offset = generation;
3357 struct btrfs_key key; local
3372 key.objectid = bytenr;
3374 key.type = BTRFS_METADATA_ITEM_KEY;
3375 key.offset = (u64)-1;
3377 key.type = BTRFS_EXTENT_ITEM_KEY;
3378 key.offset = blocksize;
3383 ret = btrfs_search_slot(NULL, rc->extent_root, &key, path, 0, 0);
3390 btrfs_item_key_to_cpu(path->nodes[0], &key,
3392 if (key.objectid == bytenr &&
3393 (key.type == BTRFS_METADATA_ITEM_KEY ||
3394 (key.type == BTRFS_EXTENT_ITEM_KEY &&
3395 key.offset == blocksize)))
3407 ret = add_tree_block(rc, &key, path, blocks);
3443 struct btrfs_key key; local
3451 key.objectid = ino;
3452 key.type = BTRFS_INODE_ITEM_KEY;
3453 key.offset = 0;
3455 inode = btrfs_iget(fs_info->sb, &key, root, NULL);
3498 struct btrfs_key key; local
3538 key.objectid = ref_objectid;
3539 key.type = BTRFS_EXTENT_DATA_KEY;
3541 key.offset = 0;
3543 key.offset = ref_offset;
3547 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
3598 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
3599 if (WARN_ON(key.objectid != ref_objectid ||
3600 key.type != BTRFS_EXTENT_DATA_KEY))
3614 key.offset -= btrfs_file_extent_offset(leaf, fi);
3615 if (key.offset != ref_offset)
3630 btrfs_item_key_to_cpu(leaf, &block->key, 0);
3661 struct btrfs_key key; local
3683 key.type = btrfs_extent_inline_ref_type(eb, iref);
3684 if (key.type == BTRFS_SHARED_DATA_REF_KEY) {
3685 key.offset = btrfs_extent_inline_ref_offset(eb, iref);
3686 ret = __add_tree_block(rc, key.offset, blocksize,
3688 } else if (key.type == BTRFS_EXTENT_DATA_REF_KEY) {
3699 ptr += btrfs_extent_inline_ref_size(key.type);
3717 btrfs_item_key_to_cpu(eb, &key, path->slots[0]);
3718 if (key.objectid != extent_key->objectid)
3722 if (key.type == BTRFS_SHARED_DATA_REF_KEY ||
3723 key.type == BTRFS_EXTENT_REF_V0_KEY) {
3725 BUG_ON(key.type == BTRFS_EXTENT_REF_V0_KEY);
3726 if (key.type == BTRFS_SHARED_DATA_REF_KEY) {
3728 ret = __add_tree_block(rc, key.offset, blocksize,
3730 } else if (key.type == BTRFS_EXTENT_DATA_REF_KEY) {
3758 struct btrfs_key key; local
3763 last = rc->block_group->key.objectid + rc->block_group->key.offset;
3771 key.objectid = rc->search_start;
3772 key.type = BTRFS_EXTENT_ITEM_KEY;
3773 key.offset = 0;
3777 ret = btrfs_search_slot(NULL, rc->extent_root, &key, path,
3790 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
3791 if (key.objectid >= last) {
3796 if (key.type != BTRFS_EXTENT_ITEM_KEY &&
3797 key.type != BTRFS_METADATA_ITEM_KEY) {
3802 if (key.type == BTRFS_EXTENT_ITEM_KEY &&
3803 key.objectid + key.offset <= rc->search_start) {
3808 if (key.type == BTRFS_METADATA_ITEM_KEY &&
3809 key.objectid + rc->extent_root->nodesize <=
3816 key.objectid, &start, &end,
3819 if (ret == 0 && start <= key.objectid) {
3823 if (key.type == BTRFS_EXTENT_ITEM_KEY)
3824 rc->search_start = key.objectid + key.offset;
3826 rc->search_start = key.objectid +
3828 memcpy(extent_key, &key, sizeof(key));
3879 rc->search_start = rc->block_group->key.objectid;
3907 struct btrfs_key key; local
3950 ret = find_next_extent(rc, path, &key);
3973 ret = get_ref_objectid_v0(rc, path, &key, &ref_owner,
3990 &key, path, 0, 0);
4003 ret = add_tree_block(rc, &key, path, &blocks);
4006 ret = add_data_references(rc, &key, path, &blocks);
4030 rc->search_start = key.objectid;
4042 &key, &rc->cluster);
4142 struct btrfs_key key; local
4161 key.objectid = objectid;
4162 key.type = BTRFS_INODE_ITEM_KEY;
4163 key.offset = 0;
4164 inode = btrfs_iget(root->fs_info->sb, &key, root, NULL);
4166 BTRFS_I(inode)->index_cnt = group->key.objectid;
4253 rc->block_group->key.objectid, rc->block_group->flags);
4333 struct btrfs_key key; local
4348 key.objectid = BTRFS_TREE_RELOC_OBJECTID;
4349 key.type = BTRFS_ROOT_ITEM_KEY;
4350 key.offset = (u64)-1;
4353 ret = btrfs_search_slot(NULL, root->fs_info->tree_root, &key,
4365 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
4368 if (key.objectid != BTRFS_TREE_RELOC_OBJECTID ||
4369 key.type != BTRFS_ROOT_ITEM_KEY)
4372 reloc_root = btrfs_read_fs_root(root, &key);
4397 if (key.offset == 0)
4400 key.offset--;