Lines Matching refs:key
792 struct btrfs_key key; in __get_inode_info() local
794 key.objectid = ino; in __get_inode_info()
795 key.type = BTRFS_INODE_ITEM_KEY; in __get_inode_info()
796 key.offset = 0; in __get_inode_info()
797 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in __get_inode_info()
1106 struct btrfs_key key, found_key; in get_inode_path() local
1115 key.objectid = ino; in get_inode_path()
1116 key.type = BTRFS_INODE_REF_KEY; in get_inode_path()
1117 key.offset = 0; in get_inode_path()
1119 ret = btrfs_search_slot_for_read(root, &key, p, 1, 0); in get_inode_path()
1169 static int __clone_root_cmp_bsearch(const void *key, const void *elt) in __clone_root_cmp_bsearch() argument
1171 u64 root = (u64)(uintptr_t)key; in __clone_root_cmp_bsearch()
1455 struct btrfs_key key; in read_symlink() local
1466 key.objectid = ino; in read_symlink()
1467 key.type = BTRFS_EXTENT_DATA_KEY; in read_symlink()
1468 key.offset = 0; in read_symlink()
1469 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in read_symlink()
1676 struct btrfs_key key; in lookup_dir_item_inode() local
1693 btrfs_dir_item_key_to_cpu(path->nodes[0], di, &key); in lookup_dir_item_inode()
1694 if (key.type == BTRFS_ROOT_ITEM_KEY) { in lookup_dir_item_inode()
1698 *found_inode = key.objectid; in lookup_dir_item_inode()
1714 struct btrfs_key key; in get_first_ref() local
1724 key.objectid = ino; in get_first_ref()
1725 key.type = BTRFS_INODE_REF_KEY; in get_first_ref()
1726 key.offset = 0; in get_first_ref()
1728 ret = btrfs_search_slot_for_read(root, &key, path, 1, 0); in get_first_ref()
2308 struct btrfs_key key; in send_subvol_begin() local
2324 key.objectid = send_root->objectid; in send_subvol_begin()
2325 key.type = BTRFS_ROOT_BACKREF_KEY; in send_subvol_begin()
2326 key.offset = 0; in send_subvol_begin()
2329 &key, path, 1, 0); in send_subvol_begin()
2338 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in send_subvol_begin()
2339 if (key.type != BTRFS_ROOT_BACKREF_KEY || in send_subvol_begin()
2340 key.objectid != send_root->objectid) { in send_subvol_begin()
2485 struct btrfs_key key; in send_utimes() local
2500 key.objectid = ino; in send_utimes()
2501 key.type = BTRFS_INODE_ITEM_KEY; in send_utimes()
2502 key.offset = 0; in send_utimes()
2503 ret = btrfs_search_slot(NULL, sctx->send_root, &key, path, 0, 0); in send_utimes()
2626 struct btrfs_key key; in did_create_dir() local
2639 key.objectid = dir; in did_create_dir()
2640 key.type = BTRFS_DIR_INDEX_KEY; in did_create_dir()
2641 key.offset = 0; in did_create_dir()
2642 ret = btrfs_search_slot(NULL, sctx->send_root, &key, path, 0, 0); in did_create_dir()
2661 if (found_key.objectid != key.objectid || in did_create_dir()
2662 found_key.type != key.type) { in did_create_dir()
2890 struct btrfs_key key; in can_rmdir() local
2905 key.objectid = dir; in can_rmdir()
2906 key.type = BTRFS_DIR_INDEX_KEY; in can_rmdir()
2907 key.offset = 0; in can_rmdir()
2908 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in can_rmdir()
2925 if (found_key.objectid != key.objectid || in can_rmdir()
2926 found_key.type != key.type) in can_rmdir()
3321 struct btrfs_key key; in wait_for_dest_dir_move() local
3335 key.objectid = parent_ref->dir; in wait_for_dest_dir_move()
3336 key.type = BTRFS_DIR_ITEM_KEY; in wait_for_dest_dir_move()
3337 key.offset = btrfs_name_hash(parent_ref->name, parent_ref->name_len); in wait_for_dest_dir_move()
3339 ret = btrfs_search_slot(NULL, sctx->parent_root, &key, path, 0, 0); in wait_for_dest_dir_move()
3974 struct btrfs_key *key, in find_iref() argument
3986 ret = iterate_inode_ref(root, path, key, 0, __find_iref, &ctx); in find_iref()
4070 struct btrfs_key key; in process_all_refs() local
4094 key.objectid = sctx->cmp_key->objectid; in process_all_refs()
4095 key.type = BTRFS_INODE_REF_KEY; in process_all_refs()
4096 key.offset = 0; in process_all_refs()
4097 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in process_all_refs()
4115 if (found_key.objectid != key.objectid || in process_all_refs()
4293 struct btrfs_key *key, in find_xattr() argument
4306 ret = iterate_dir_item(root, path, key, __find_xattr, &ctx); in find_xattr()
4391 struct btrfs_key key; in process_all_new_xattrs() local
4402 key.objectid = sctx->cmp_key->objectid; in process_all_new_xattrs()
4403 key.type = BTRFS_XATTR_ITEM_KEY; in process_all_new_xattrs()
4404 key.offset = 0; in process_all_new_xattrs()
4405 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in process_all_new_xattrs()
4424 if (found_key.objectid != key.objectid || in process_all_new_xattrs()
4425 found_key.type != key.type) { in process_all_new_xattrs()
4450 struct btrfs_key key; in fill_read_buf() local
4456 key.objectid = sctx->cur_ino; in fill_read_buf()
4457 key.type = BTRFS_INODE_ITEM_KEY; in fill_read_buf()
4458 key.offset = 0; in fill_read_buf()
4460 inode = btrfs_iget(fs_info->sb, &key, root, NULL); in fill_read_buf()
4733 struct btrfs_key key; in clone_range() local
4762 key.objectid = clone_root->ino; in clone_range()
4763 key.type = BTRFS_EXTENT_DATA_KEY; in clone_range()
4764 key.offset = clone_root->offset; in clone_range()
4765 ret = btrfs_search_slot(NULL, clone_root->root, &key, path, 0, 0); in clone_range()
4769 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0] - 1); in clone_range()
4770 if (key.objectid == clone_root->ino && in clone_range()
4771 key.type == BTRFS_EXTENT_DATA_KEY) in clone_range()
4792 btrfs_item_key_to_cpu(leaf, &key, slot); in clone_range()
4798 if (key.objectid != clone_root->ino || in clone_range()
4799 key.type != BTRFS_EXTENT_DATA_KEY) in clone_range()
4811 if (key.offset + ext_len <= clone_root->offset) in clone_range()
4814 if (key.offset > clone_root->offset) { in clone_range()
4816 u64 hole_len = key.offset - clone_root->offset; in clone_range()
4832 if (key.offset >= clone_root->offset + len) in clone_range()
4867 struct btrfs_key *key, in send_write_or_clone() argument
4872 u64 offset = key->offset; in send_write_or_clone()
4920 struct btrfs_key key; in is_extent_unchanged() local
4977 key.objectid = ekey->objectid; in is_extent_unchanged()
4978 key.type = BTRFS_EXTENT_DATA_KEY; in is_extent_unchanged()
4979 key.offset = ekey->offset; in is_extent_unchanged()
4980 ret = btrfs_search_slot_for_read(sctx->parent_root, &key, path, 0, 0); in is_extent_unchanged()
4994 if (found_key.objectid != key.objectid || in is_extent_unchanged()
4995 found_key.type != key.type) { in is_extent_unchanged()
5004 key = found_key; in is_extent_unchanged()
5005 while (key.offset < ekey->offset + left_len) { in is_extent_unchanged()
5029 if (key.offset < ekey->offset) { in is_extent_unchanged()
5031 right_offset += ekey->offset - key.offset; in is_extent_unchanged()
5034 left_offset_fixed += key.offset - ekey->offset; in is_extent_unchanged()
5058 if (ret || found_key.objectid != key.objectid || in is_extent_unchanged()
5059 found_key.type != key.type) { in is_extent_unchanged()
5060 key.offset += right_len; in is_extent_unchanged()
5063 if (found_key.offset != key.offset + right_len) { in is_extent_unchanged()
5067 key = found_key; in is_extent_unchanged()
5074 if (key.offset >= ekey->offset + left_len) in is_extent_unchanged()
5090 struct btrfs_key key; in get_last_extent() local
5101 key.objectid = sctx->cur_ino; in get_last_extent()
5102 key.type = BTRFS_EXTENT_DATA_KEY; in get_last_extent()
5103 key.offset = offset; in get_last_extent()
5104 ret = btrfs_search_slot_for_read(root, &key, path, 0, 1); in get_last_extent()
5108 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in get_last_extent()
5109 if (key.objectid != sctx->cur_ino || key.type != BTRFS_EXTENT_DATA_KEY) in get_last_extent()
5118 extent_end = ALIGN(key.offset + size, in get_last_extent()
5121 extent_end = key.offset + in get_last_extent()
5131 struct btrfs_key *key) in maybe_send_hole() argument
5138 if (sctx->cur_ino != key->objectid || !need_send_hole(sctx)) in maybe_send_hole()
5142 ret = get_last_extent(sctx, key->offset - 1); in maybe_send_hole()
5153 extent_end = ALIGN(key->offset + size, in maybe_send_hole()
5156 extent_end = key->offset + in maybe_send_hole()
5161 sctx->cur_inode_last_extent < key->offset) { in maybe_send_hole()
5169 ret = get_last_extent(sctx, key->offset - 1); in maybe_send_hole()
5174 if (sctx->cur_inode_last_extent < key->offset) in maybe_send_hole()
5175 ret = send_hole(sctx, key->offset); in maybe_send_hole()
5182 struct btrfs_key *key) in process_extent() argument
5191 ret = is_extent_unchanged(sctx, path, key); in process_extent()
5226 ret = find_extent_clone(sctx, path, key->objectid, key->offset, in process_extent()
5231 ret = send_write_or_clone(sctx, path, key, found_clone); in process_extent()
5235 ret = maybe_send_hole(sctx, path, key); in process_extent()
5245 struct btrfs_key key; in process_all_extents() local
5255 key.objectid = sctx->cmp_key->objectid; in process_all_extents()
5256 key.type = BTRFS_EXTENT_DATA_KEY; in process_all_extents()
5257 key.offset = 0; in process_all_extents()
5258 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in process_all_extents()
5279 if (found_key.objectid != key.objectid || in process_all_extents()
5280 found_key.type != key.type) { in process_all_extents()
5445 struct btrfs_key *key = sctx->cmp_key; in changed_inode() local
5451 sctx->cur_ino = key->objectid; in changed_inode()
5683 struct btrfs_key *key) in compare_refs() argument
5695 if (key->type == BTRFS_INODE_REF_KEY) { in compare_refs()
5696 dirid = key->offset; in compare_refs()
5730 struct btrfs_key *key, in changed_cb() argument
5738 if (key->type == BTRFS_INODE_REF_KEY || in changed_cb()
5739 key->type == BTRFS_INODE_EXTREF_KEY) { in changed_cb()
5740 ret = compare_refs(sctx, left_path, key); in changed_cb()
5745 } else if (key->type == BTRFS_EXTENT_DATA_KEY) { in changed_cb()
5746 return maybe_send_hole(sctx, left_path, key); in changed_cb()
5756 sctx->cmp_key = key; in changed_cb()
5763 if (key->objectid == BTRFS_FREE_INO_OBJECTID || in changed_cb()
5764 key->objectid == BTRFS_FREE_SPACE_OBJECTID) in changed_cb()
5767 if (key->type == BTRFS_INODE_ITEM_KEY) in changed_cb()
5769 else if (key->type == BTRFS_INODE_REF_KEY || in changed_cb()
5770 key->type == BTRFS_INODE_EXTREF_KEY) in changed_cb()
5772 else if (key->type == BTRFS_XATTR_ITEM_KEY) in changed_cb()
5774 else if (key->type == BTRFS_EXTENT_DATA_KEY) in changed_cb()
5785 struct btrfs_key key; in full_send_tree() local
5795 key.objectid = BTRFS_FIRST_FREE_OBJECTID; in full_send_tree()
5796 key.type = BTRFS_INODE_ITEM_KEY; in full_send_tree()
5797 key.offset = 0; in full_send_tree()
5799 ret = btrfs_search_slot_for_read(send_root, &key, path, 1, 0); in full_send_tree()
5815 key.objectid = found_key.objectid; in full_send_tree()
5816 key.type = found_key.type; in full_send_tree()
5817 key.offset = found_key.offset + 1; in full_send_tree()
5936 struct btrfs_key key; in btrfs_ioctl_send() local
6064 key.objectid = clone_sources_tmp[i]; in btrfs_ioctl_send()
6065 key.type = BTRFS_ROOT_ITEM_KEY; in btrfs_ioctl_send()
6066 key.offset = (u64)-1; in btrfs_ioctl_send()
6070 clone_root = btrfs_read_fs_root_no_name(fs_info, &key); in btrfs_ioctl_send()
6096 key.objectid = arg->parent_root; in btrfs_ioctl_send()
6097 key.type = BTRFS_ROOT_ITEM_KEY; in btrfs_ioctl_send()
6098 key.offset = (u64)-1; in btrfs_ioctl_send()
6102 sctx->parent_root = btrfs_read_fs_root_no_name(fs_info, &key); in btrfs_ioctl_send()