Lines Matching refs:eb

37 static int check_extent_in_eb(struct btrfs_key *key, struct extent_buffer *eb,  in check_extent_in_eb()  argument
45 if (!btrfs_file_extent_compression(eb, fi) && in check_extent_in_eb()
46 !btrfs_file_extent_encryption(eb, fi) && in check_extent_in_eb()
47 !btrfs_file_extent_other_encoding(eb, fi)) { in check_extent_in_eb()
51 data_offset = btrfs_file_extent_offset(eb, fi); in check_extent_in_eb()
52 data_len = btrfs_file_extent_num_bytes(eb, fi); in check_extent_in_eb()
82 static int find_extent_in_eb(struct extent_buffer *eb, u64 wanted_disk_byte, in find_extent_in_eb() argument
99 nritems = btrfs_header_nritems(eb); in find_extent_in_eb()
101 btrfs_item_key_to_cpu(eb, &key, slot); in find_extent_in_eb()
104 fi = btrfs_item_ptr(eb, slot, struct btrfs_file_extent_item); in find_extent_in_eb()
105 extent_type = btrfs_file_extent_type(eb, fi); in find_extent_in_eb()
109 disk_byte = btrfs_file_extent_disk_bytenr(eb, fi); in find_extent_in_eb()
113 ret = check_extent_in_eb(&key, eb, fi, extent_item_pos, eie); in find_extent_in_eb()
231 struct extent_buffer *eb; in add_all_parents() local
241 eb = path->nodes[level]; in add_all_parents()
242 ret = ulist_add(parents, eb->start, 0, GFP_NOFS); in add_all_parents()
257 eb = path->nodes[0]; in add_all_parents()
260 btrfs_item_key_to_cpu(eb, &key, slot); in add_all_parents()
266 fi = btrfs_item_ptr(eb, slot, struct btrfs_file_extent_item); in add_all_parents()
267 disk_byte = btrfs_file_extent_disk_bytenr(eb, fi); in add_all_parents()
274 ret = check_extent_in_eb(&key, eb, fi, in add_all_parents()
282 ret = ulist_add_merge_ptr(parents, eb->start, in add_all_parents()
316 struct extent_buffer *eb; in __resolve_indirect_ref() local
359 eb = path->nodes[level]; in __resolve_indirect_ref()
360 while (!eb) { in __resolve_indirect_ref()
366 eb = path->nodes[level]; in __resolve_indirect_ref()
481 struct extent_buffer *eb; in __add_missing_keys() local
492 eb = read_tree_block(fs_info->tree_root, ref->wanted_disk_byte, in __add_missing_keys()
494 if (!eb || !extent_buffer_uptodate(eb)) { in __add_missing_keys()
495 free_extent_buffer(eb); in __add_missing_keys()
498 btrfs_tree_read_lock(eb); in __add_missing_keys()
499 if (btrfs_header_level(eb) == 0) in __add_missing_keys()
500 btrfs_item_key_to_cpu(eb, &ref->key_for_search, 0); in __add_missing_keys()
502 btrfs_node_key_to_cpu(eb, &ref->key_for_search, 0); in __add_missing_keys()
503 btrfs_tree_read_unlock(eb); in __add_missing_keys()
504 free_extent_buffer(eb); in __add_missing_keys()
1033 struct extent_buffer *eb; local
1035 eb = read_tree_block(fs_info->extent_root,
1037 if (!eb || !extent_buffer_uptodate(eb)) {
1038 free_extent_buffer(eb);
1042 btrfs_tree_read_lock(eb);
1043 btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK);
1044 ret = find_extent_in_eb(eb, bytenr,
1046 btrfs_tree_read_unlock_blocking(eb);
1047 free_extent_buffer(eb);
1357 struct extent_buffer *eb = eb_in; local
1369 read_extent_buffer(eb, dest + bytes_left,
1371 if (eb != eb_in) {
1373 btrfs_tree_read_unlock_blocking(eb);
1374 free_extent_buffer(eb);
1390 eb = path->nodes[0];
1392 if (eb != eb_in) {
1394 btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK);
1399 iref = btrfs_item_ptr(eb, slot, struct btrfs_inode_ref);
1401 name_len = btrfs_inode_ref_name_len(eb, iref);
1432 struct extent_buffer *eb; local
1465 eb = path->nodes[0];
1466 item_size = btrfs_item_size_nr(eb, path->slots[0]);
1469 ei = btrfs_item_ptr(eb, path->slots[0], struct btrfs_extent_item);
1470 flags = btrfs_extent_flags(eb, ei);
1499 static int __get_extent_inline_ref(unsigned long *ptr, struct extent_buffer *eb, argument
1511 flags = btrfs_extent_flags(eb, ei);
1533 *out_type = btrfs_extent_inline_ref_type(eb, *out_eiref);
1550 int tree_backref_for_extent(unsigned long *ptr, struct extent_buffer *eb, argument
1562 ret = __get_extent_inline_ref(ptr, eb, key, ei, item_size,
1576 *out_root = btrfs_extent_inline_ref_offset(eb, eiref);
1582 *out_level = btrfs_tree_block_level(eb, info);
1712 struct extent_buffer *eb, void *ctx);
1725 struct extent_buffer *eb; local
1745 eb = btrfs_clone_extent_buffer(path->nodes[0]);
1746 if (!eb) {
1750 extent_buffer_get(eb);
1751 btrfs_tree_read_lock(eb);
1752 btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK);
1756 iref = btrfs_item_ptr(eb, slot, struct btrfs_inode_ref);
1758 for (cur = 0; cur < btrfs_item_size(eb, item); cur += len) {
1759 name_len = btrfs_inode_ref_name_len(eb, iref);
1765 (unsigned long)(iref + 1), eb, ctx);
1771 btrfs_tree_read_unlock_blocking(eb);
1772 free_extent_buffer(eb);
1789 struct extent_buffer *eb; local
1807 eb = btrfs_clone_extent_buffer(path->nodes[0]);
1808 if (!eb) {
1812 extent_buffer_get(eb);
1814 btrfs_tree_read_lock(eb);
1815 btrfs_set_lock_blocking_rw(eb, BTRFS_READ_LOCK);
1818 item_size = btrfs_item_size_nr(eb, slot);
1819 ptr = btrfs_item_ptr_offset(eb, slot);
1826 parent = btrfs_inode_extref_parent(eb, extref);
1827 name_len = btrfs_inode_extref_name_len(eb, extref);
1829 (unsigned long)&extref->name, eb, ctx);
1833 cur_offset += btrfs_inode_extref_name_len(eb, extref);
1836 btrfs_tree_read_unlock_blocking(eb);
1837 free_extent_buffer(eb);
1872 struct extent_buffer *eb, void *ctx) argument
1886 name_off, eb, inum, fspath_min, bytes_left);