Lines Matching refs:eb
29 const struct extent_buffer *eb, in check_extent_in_eb() argument
39 !btrfs_file_extent_compression(eb, fi) && in check_extent_in_eb()
40 !btrfs_file_extent_encryption(eb, fi) && in check_extent_in_eb()
41 !btrfs_file_extent_other_encoding(eb, fi)) { in check_extent_in_eb()
45 data_offset = btrfs_file_extent_offset(eb, fi); in check_extent_in_eb()
46 data_len = btrfs_file_extent_num_bytes(eb, fi); in check_extent_in_eb()
76 static int find_extent_in_eb(const struct extent_buffer *eb, in find_extent_in_eb() argument
94 nritems = btrfs_header_nritems(eb); in find_extent_in_eb()
96 btrfs_item_key_to_cpu(eb, &key, slot); in find_extent_in_eb()
99 fi = btrfs_item_ptr(eb, slot, struct btrfs_file_extent_item); in find_extent_in_eb()
100 extent_type = btrfs_file_extent_type(eb, fi); in find_extent_in_eb()
104 disk_byte = btrfs_file_extent_disk_bytenr(eb, fi); in find_extent_in_eb()
108 ret = check_extent_in_eb(&key, eb, fi, extent_item_pos, eie, ignore_offset); in find_extent_in_eb()
424 struct extent_buffer *eb; in add_all_parents() local
435 eb = path->nodes[level]; in add_all_parents()
436 ret = ulist_add(parents, eb->start, 0, GFP_NOFS); in add_all_parents()
452 eb = path->nodes[0]; in add_all_parents()
453 if (path->slots[0] >= btrfs_header_nritems(eb) || in add_all_parents()
454 is_shared_data_backref(preftrees, eb->start) || in add_all_parents()
455 ref->root_id != btrfs_header_owner(eb)) { in add_all_parents()
463 eb = path->nodes[0]; in add_all_parents()
466 btrfs_item_key_to_cpu(eb, &key, slot); in add_all_parents()
478 (is_shared_data_backref(preftrees, eb->start) || in add_all_parents()
479 ref->root_id != btrfs_header_owner(eb))) { in add_all_parents()
486 fi = btrfs_item_ptr(eb, slot, struct btrfs_file_extent_item); in add_all_parents()
487 disk_byte = btrfs_file_extent_disk_bytenr(eb, fi); in add_all_parents()
488 data_offset = btrfs_file_extent_offset(eb, fi); in add_all_parents()
498 ret = check_extent_in_eb(&key, eb, fi, in add_all_parents()
506 ret = ulist_add_merge_ptr(parents, eb->start, in add_all_parents()
542 struct extent_buffer *eb; in resolve_indirect_ref() local
622 eb = path->nodes[level]; in resolve_indirect_ref()
623 while (!eb) { in resolve_indirect_ref()
629 eb = path->nodes[level]; in resolve_indirect_ref()
775 struct extent_buffer *eb; in add_missing_keys() local
787 eb = read_tree_block(fs_info, ref->wanted_disk_byte, in add_missing_keys()
789 if (IS_ERR(eb)) { in add_missing_keys()
791 return PTR_ERR(eb); in add_missing_keys()
792 } else if (!extent_buffer_uptodate(eb)) { in add_missing_keys()
794 free_extent_buffer(eb); in add_missing_keys()
798 btrfs_tree_read_lock(eb); in add_missing_keys()
799 if (btrfs_header_level(eb) == 0) in add_missing_keys()
800 btrfs_item_key_to_cpu(eb, &ref->key_for_search, 0); in add_missing_keys()
802 btrfs_node_key_to_cpu(eb, &ref->key_for_search, 0); in add_missing_keys()
804 btrfs_tree_read_unlock(eb); in add_missing_keys()
805 free_extent_buffer(eb); in add_missing_keys()
1332 struct extent_buffer *eb; local
1334 eb = read_tree_block(fs_info, ref->parent, 0,
1336 if (IS_ERR(eb)) {
1337 ret = PTR_ERR(eb);
1339 } else if (!extent_buffer_uptodate(eb)) {
1340 free_extent_buffer(eb);
1346 btrfs_tree_read_lock(eb);
1347 ret = find_extent_in_eb(eb, bytenr,
1350 btrfs_tree_read_unlock(eb);
1351 free_extent_buffer(eb);
1677 struct extent_buffer *eb = eb_in; local
1687 read_extent_buffer(eb, dest + bytes_left,
1689 if (eb != eb_in) {
1691 btrfs_tree_read_unlock(eb);
1692 free_extent_buffer(eb);
1708 eb = path->nodes[0];
1710 if (eb != eb_in) {
1715 iref = btrfs_item_ptr(eb, slot, struct btrfs_inode_ref);
1717 name_len = btrfs_inode_ref_name_len(eb, iref);
1747 const struct extent_buffer *eb; local
1781 eb = path->nodes[0];
1782 item_size = btrfs_item_size_nr(eb, path->slots[0]);
1785 ei = btrfs_item_ptr(eb, path->slots[0], struct btrfs_extent_item);
1786 flags = btrfs_extent_flags(eb, ei);
1816 const struct extent_buffer *eb, argument
1829 flags = btrfs_extent_flags(eb, ei);
1851 *out_type = btrfs_get_extent_inline_ref_type(eb, *out_eiref,
1871 int tree_backref_for_extent(unsigned long *ptr, struct extent_buffer *eb, argument
1883 ret = get_extent_inline_ref(ptr, eb, key, ei, item_size,
1897 *out_root = btrfs_extent_inline_ref_offset(eb, eiref);
1903 *out_level = btrfs_tree_block_level(eb, info);
2047 struct extent_buffer *eb, void *ctx);
2060 struct extent_buffer *eb; local
2080 eb = btrfs_clone_extent_buffer(path->nodes[0]);
2081 if (!eb) {
2088 iref = btrfs_item_ptr(eb, slot, struct btrfs_inode_ref);
2090 for (cur = 0; cur < btrfs_item_size(eb, item); cur += len) {
2091 name_len = btrfs_inode_ref_name_len(eb, iref);
2098 (unsigned long)(iref + 1), eb, ctx);
2104 free_extent_buffer(eb);
2121 struct extent_buffer *eb; local
2139 eb = btrfs_clone_extent_buffer(path->nodes[0]);
2140 if (!eb) {
2146 item_size = btrfs_item_size_nr(eb, slot);
2147 ptr = btrfs_item_ptr_offset(eb, slot);
2154 parent = btrfs_inode_extref_parent(eb, extref);
2155 name_len = btrfs_inode_extref_name_len(eb, extref);
2157 (unsigned long)&extref->name, eb, ctx);
2161 cur_offset += btrfs_inode_extref_name_len(eb, extref);
2164 free_extent_buffer(eb);
2199 struct extent_buffer *eb, void *ctx) argument
2213 name_off, eb, inum, fspath_min, bytes_left);
2429 struct extent_buffer *eb = btrfs_backref_get_eb(iter); local
2448 type = btrfs_extent_inline_ref_type(eb, iref);
2691 struct extent_buffer *eb; local
2741 eb = path->nodes[level];
2742 if (btrfs_node_blockptr(eb, path->slots[level]) != cur->bytenr) {
2776 eb = path->nodes[level];
2777 rb_node = rb_simple_search(&cache->rb_root, eb->start);
2779 upper = btrfs_backref_alloc_node(cache, eb->start,
2787 upper->owner = btrfs_header_owner(eb);
2795 if (btrfs_block_can_be_shared(root, eb))
2820 upper->owner = btrfs_header_owner(eb);
2897 struct extent_buffer *eb; local
2902 eb = btrfs_backref_get_eb(iter);
2911 type = btrfs_get_extent_inline_ref_type(eb, iref,
2918 key.offset = btrfs_extent_inline_ref_offset(eb, iref);