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, 1);
1727 key.objectid, key.offset, 1);
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);
1877 btrfs_node_key_to_cpu(path->nodes[level], &key,
1882 ret = btrfs_search_slot(trans, src, &key, path, 0, 1);
2089 struct btrfs_key *key) argument
2097 btrfs_node_key_to_cpu(path->nodes[level], key,
2114 struct btrfs_key key; local
2142 btrfs_disk_key_to_cpu(&key, &root_item->drop_progress);
2147 ret = btrfs_search_slot(NULL, reloc_root, &key, path, 0, 0);
2156 WARN_ON(memcmp(&key, &next_key, sizeof(key)));
2190 if (!find_next_key(path, level, &key) &&
2191 btrfs_comp_cpu_keys(&next_key, &key) >= 0) {
2204 btrfs_node_key_to_cpu(path->nodes[level], &key,
2228 invalidate_extent_cache(root, &key, &next_key);
2258 invalidate_extent_cache(root, &key, &next_key);
2638 struct btrfs_key *key, argument
2666 ret = btrfs_bin_search(upper->eb, key,
2677 ret = btrfs_search_slot(trans, root, key, path, 0, 1);
2697 ret = btrfs_bin_search(upper->eb, key, upper->level,
2773 struct btrfs_key key; local
2775 btrfs_node_key_to_cpu(node->eb, &key, 0);
2776 return do_relocation(trans, rc, node, &key, path, 0);
2875 block->key.offset);
2882 btrfs_item_key_to_cpu(eb, &block->key, 0);
2884 btrfs_node_key_to_cpu(eb, &block->key, 0);
2896 struct btrfs_key *key, argument
2929 ret = btrfs_search_slot(trans, root, key, path, 0, 1);
2937 ret = do_relocation(trans, rc, node, key, path, 1);
2988 node = build_backref_tree(rc, &block->key,
2995 ret = relocate_tree_block(trans, rc, node, &block->key,
3235 struct btrfs_key key; local
3254 btrfs_item_key_to_cpu(leaf, &key, slot);
3255 if (key.objectid != extent_key->objectid)
3258 if (key.type != BTRFS_EXTENT_REF_V0_KEY) {
3331 block->key.objectid = rc->extent_root->nodesize;
3332 block->key.offset = generation;
3351 struct btrfs_key key; local
3366 key.objectid = bytenr;
3368 key.type = BTRFS_METADATA_ITEM_KEY;
3369 key.offset = (u64)-1;
3371 key.type = BTRFS_EXTENT_ITEM_KEY;
3372 key.offset = blocksize;
3377 ret = btrfs_search_slot(NULL, rc->extent_root, &key, path, 0, 0);
3384 btrfs_item_key_to_cpu(path->nodes[0], &key,
3386 if (key.objectid == bytenr &&
3387 (key.type == BTRFS_METADATA_ITEM_KEY ||
3388 (key.type == BTRFS_EXTENT_ITEM_KEY &&
3389 key.offset == blocksize)))
3401 ret = add_tree_block(rc, &key, path, blocks);
3437 struct btrfs_key key; local
3445 key.objectid = ino;
3446 key.type = BTRFS_INODE_ITEM_KEY;
3447 key.offset = 0;
3449 inode = btrfs_iget(fs_info->sb, &key, root, NULL);
3492 struct btrfs_key key; local
3532 key.objectid = ref_objectid;
3533 key.type = BTRFS_EXTENT_DATA_KEY;
3535 key.offset = 0;
3537 key.offset = ref_offset;
3541 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
3592 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
3593 if (WARN_ON(key.objectid != ref_objectid ||
3594 key.type != BTRFS_EXTENT_DATA_KEY))
3608 key.offset -= btrfs_file_extent_offset(leaf, fi);
3609 if (key.offset != ref_offset)
3624 btrfs_item_key_to_cpu(leaf, &block->key, 0);
3655 struct btrfs_key key; local
3677 key.type = btrfs_extent_inline_ref_type(eb, iref);
3678 if (key.type == BTRFS_SHARED_DATA_REF_KEY) {
3679 key.offset = btrfs_extent_inline_ref_offset(eb, iref);
3680 ret = __add_tree_block(rc, key.offset, blocksize,
3682 } else if (key.type == BTRFS_EXTENT_DATA_REF_KEY) {
3693 ptr += btrfs_extent_inline_ref_size(key.type);
3711 btrfs_item_key_to_cpu(eb, &key, path->slots[0]);
3712 if (key.objectid != extent_key->objectid)
3716 if (key.type == BTRFS_SHARED_DATA_REF_KEY ||
3717 key.type == BTRFS_EXTENT_REF_V0_KEY) {
3719 BUG_ON(key.type == BTRFS_EXTENT_REF_V0_KEY);
3720 if (key.type == BTRFS_SHARED_DATA_REF_KEY) {
3722 ret = __add_tree_block(rc, key.offset, blocksize,
3724 } else if (key.type == BTRFS_EXTENT_DATA_REF_KEY) {
3753 struct btrfs_key key; local
3758 last = rc->block_group->key.objectid + rc->block_group->key.offset;
3766 key.objectid = rc->search_start;
3767 key.type = BTRFS_EXTENT_ITEM_KEY;
3768 key.offset = 0;
3772 ret = btrfs_search_slot(NULL, rc->extent_root, &key, path,
3785 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
3786 if (key.objectid >= last) {
3791 if (key.type != BTRFS_EXTENT_ITEM_KEY &&
3792 key.type != BTRFS_METADATA_ITEM_KEY) {
3797 if (key.type == BTRFS_EXTENT_ITEM_KEY &&
3798 key.objectid + key.offset <= rc->search_start) {
3803 if (key.type == BTRFS_METADATA_ITEM_KEY &&
3804 key.objectid + rc->extent_root->nodesize <=
3811 key.objectid, &start, &end,
3814 if (ret == 0 && start <= key.objectid) {
3818 if (key.type == BTRFS_EXTENT_ITEM_KEY)
3819 rc->search_start = key.objectid + key.offset;
3821 rc->search_start = key.objectid +
3823 memcpy(extent_key, &key, sizeof(key));
3874 rc->search_start = rc->block_group->key.objectid;
3902 struct btrfs_key key; local
3945 ret = find_next_extent(trans, rc, path, &key);
3968 ret = get_ref_objectid_v0(rc, path, &key, &ref_owner,
3981 &key, path, 0, 0);
3994 ret = add_tree_block(rc, &key, path, &blocks);
3997 ret = add_data_references(rc, &key, path, &blocks);
4021 rc->search_start = key.objectid;
4033 &key, &rc->cluster);
4133 struct btrfs_key key; local
4152 key.objectid = objectid;
4153 key.type = BTRFS_INODE_ITEM_KEY;
4154 key.offset = 0;
4155 inode = btrfs_iget(root->fs_info->sb, &key, root, NULL);
4157 BTRFS_I(inode)->index_cnt = group->key.objectid;
4246 rc->block_group->key.objectid, rc->block_group->flags);
4326 struct btrfs_key key; local
4341 key.objectid = BTRFS_TREE_RELOC_OBJECTID;
4342 key.type = BTRFS_ROOT_ITEM_KEY;
4343 key.offset = (u64)-1;
4346 ret = btrfs_search_slot(NULL, root->fs_info->tree_root, &key,
4358 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
4361 if (key.objectid != BTRFS_TREE_RELOC_OBJECTID ||
4362 key.type != BTRFS_ROOT_ITEM_KEY)
4365 reloc_root = btrfs_read_fs_root(root, &key);
4390 if (key.offset == 0)
4393 key.offset--;