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()
427 struct extent_buffer *eb; in add_all_parents() local
438 eb = path->nodes[level]; in add_all_parents()
439 ret = ulist_add(parents, eb->start, 0, GFP_NOFS); in add_all_parents()
455 eb = path->nodes[0]; in add_all_parents()
456 if (path->slots[0] >= btrfs_header_nritems(eb) || in add_all_parents()
457 is_shared_data_backref(preftrees, eb->start) || in add_all_parents()
458 ref->root_id != btrfs_header_owner(eb)) { in add_all_parents()
466 eb = path->nodes[0]; in add_all_parents()
469 btrfs_item_key_to_cpu(eb, &key, slot); in add_all_parents()
481 (is_shared_data_backref(preftrees, eb->start) || in add_all_parents()
482 ref->root_id != btrfs_header_owner(eb))) { in add_all_parents()
489 fi = btrfs_item_ptr(eb, slot, struct btrfs_file_extent_item); in add_all_parents()
490 disk_byte = btrfs_file_extent_disk_bytenr(eb, fi); in add_all_parents()
491 data_offset = btrfs_file_extent_offset(eb, fi); in add_all_parents()
501 ret = check_extent_in_eb(&key, eb, fi, in add_all_parents()
509 ret = ulist_add_merge_ptr(parents, eb->start, in add_all_parents()
545 struct extent_buffer *eb; in resolve_indirect_ref() local
625 eb = path->nodes[level]; in resolve_indirect_ref()
626 while (!eb) { in resolve_indirect_ref()
632 eb = path->nodes[level]; in resolve_indirect_ref()
794 struct extent_buffer *eb; in add_missing_keys() local
806 eb = read_tree_block(fs_info, ref->wanted_disk_byte, in add_missing_keys()
808 if (IS_ERR(eb)) { in add_missing_keys()
810 return PTR_ERR(eb); in add_missing_keys()
812 if (!extent_buffer_uptodate(eb)) { in add_missing_keys()
814 free_extent_buffer(eb); in add_missing_keys()
819 btrfs_tree_read_lock(eb); in add_missing_keys()
820 if (btrfs_header_level(eb) == 0) in add_missing_keys()
821 btrfs_item_key_to_cpu(eb, &ref->key_for_search, 0); in add_missing_keys()
823 btrfs_node_key_to_cpu(eb, &ref->key_for_search, 0); in add_missing_keys()
825 btrfs_tree_read_unlock(eb); in add_missing_keys()
826 free_extent_buffer(eb); in add_missing_keys()
1365 struct extent_buffer *eb; in find_parent_nodes() local
1367 eb = read_tree_block(fs_info, ref->parent, 0, in find_parent_nodes()
1369 if (IS_ERR(eb)) { in find_parent_nodes()
1370 ret = PTR_ERR(eb); in find_parent_nodes()
1373 if (!extent_buffer_uptodate(eb)) { in find_parent_nodes()
1374 free_extent_buffer(eb); in find_parent_nodes()
1380 btrfs_tree_read_lock(eb); in find_parent_nodes()
1381 ret = find_extent_in_eb(eb, bytenr, in find_parent_nodes()
1384 btrfs_tree_read_unlock(eb); in find_parent_nodes()
1385 free_extent_buffer(eb); in find_parent_nodes()
1890 struct extent_buffer *eb = eb_in; in btrfs_ref_to_path() local
1900 read_extent_buffer(eb, dest + bytes_left, in btrfs_ref_to_path()
1902 if (eb != eb_in) { in btrfs_ref_to_path()
1904 btrfs_tree_read_unlock(eb); in btrfs_ref_to_path()
1905 free_extent_buffer(eb); in btrfs_ref_to_path()
1921 eb = path->nodes[0]; in btrfs_ref_to_path()
1923 if (eb != eb_in) { in btrfs_ref_to_path()
1928 iref = btrfs_item_ptr(eb, slot, struct btrfs_inode_ref); in btrfs_ref_to_path()
1930 name_len = btrfs_inode_ref_name_len(eb, iref); in btrfs_ref_to_path()
1961 const struct extent_buffer *eb; in extent_from_logical() local
1995 eb = path->nodes[0]; in extent_from_logical()
1996 item_size = btrfs_item_size(eb, path->slots[0]); in extent_from_logical()
1999 ei = btrfs_item_ptr(eb, path->slots[0], struct btrfs_extent_item); in extent_from_logical()
2000 flags = btrfs_extent_flags(eb, ei); in extent_from_logical()
2030 const struct extent_buffer *eb, in get_extent_inline_ref() argument
2043 flags = btrfs_extent_flags(eb, ei); in get_extent_inline_ref()
2065 *out_type = btrfs_get_extent_inline_ref_type(eb, *out_eiref, in get_extent_inline_ref()
2085 int tree_backref_for_extent(unsigned long *ptr, struct extent_buffer *eb, in tree_backref_for_extent() argument
2097 ret = get_extent_inline_ref(ptr, eb, key, ei, item_size, in tree_backref_for_extent()
2111 *out_root = btrfs_extent_inline_ref_offset(eb, eiref); in tree_backref_for_extent()
2117 *out_level = btrfs_tree_block_level(eb, info); in tree_backref_for_extent()
2280 struct extent_buffer *eb, struct inode_fs_paths *ipath);
2293 struct extent_buffer *eb; in iterate_inode_refs() local
2312 eb = btrfs_clone_extent_buffer(path->nodes[0]); in iterate_inode_refs()
2313 if (!eb) { in iterate_inode_refs()
2319 iref = btrfs_item_ptr(eb, slot, struct btrfs_inode_ref); in iterate_inode_refs()
2321 for (cur = 0; cur < btrfs_item_size(eb, slot); cur += len) { in iterate_inode_refs()
2322 name_len = btrfs_inode_ref_name_len(eb, iref); in iterate_inode_refs()
2329 (unsigned long)(iref + 1), eb, ipath); in iterate_inode_refs()
2335 free_extent_buffer(eb); in iterate_inode_refs()
2352 struct extent_buffer *eb; in iterate_inode_extrefs() local
2370 eb = btrfs_clone_extent_buffer(path->nodes[0]); in iterate_inode_extrefs()
2371 if (!eb) { in iterate_inode_extrefs()
2377 item_size = btrfs_item_size(eb, slot); in iterate_inode_extrefs()
2378 ptr = btrfs_item_ptr_offset(eb, slot); in iterate_inode_extrefs()
2385 parent = btrfs_inode_extref_parent(eb, extref); in iterate_inode_extrefs()
2386 name_len = btrfs_inode_extref_name_len(eb, extref); in iterate_inode_extrefs()
2388 (unsigned long)&extref->name, eb, ipath); in iterate_inode_extrefs()
2392 cur_offset += btrfs_inode_extref_name_len(eb, extref); in iterate_inode_extrefs()
2395 free_extent_buffer(eb); in iterate_inode_extrefs()
2410 struct extent_buffer *eb, struct inode_fs_paths *ipath) in inode_to_path() argument
2423 name_off, eb, inum, fspath_min, bytes_left); in inode_to_path()
2652 struct extent_buffer *eb = btrfs_backref_get_eb(iter); in btrfs_backref_iter_next() local
2672 type = btrfs_extent_inline_ref_type(eb, iref); in btrfs_backref_iter_next()
2916 struct extent_buffer *eb; in handle_indirect_tree_backref() local
2966 eb = path->nodes[level]; in handle_indirect_tree_backref()
2967 if (btrfs_node_blockptr(eb, path->slots[level]) != cur->bytenr) { in handle_indirect_tree_backref()
3001 eb = path->nodes[level]; in handle_indirect_tree_backref()
3002 rb_node = rb_simple_search(&cache->rb_root, eb->start); in handle_indirect_tree_backref()
3004 upper = btrfs_backref_alloc_node(cache, eb->start, in handle_indirect_tree_backref()
3012 upper->owner = btrfs_header_owner(eb); in handle_indirect_tree_backref()
3020 if (btrfs_block_can_be_shared(root, eb)) in handle_indirect_tree_backref()
3045 upper->owner = btrfs_header_owner(eb); in handle_indirect_tree_backref()
3122 struct extent_buffer *eb; in btrfs_backref_add_tree_node() local
3127 eb = btrfs_backref_get_eb(iter); in btrfs_backref_add_tree_node()
3136 type = btrfs_get_extent_inline_ref_type(eb, iref, in btrfs_backref_add_tree_node()
3143 key.offset = btrfs_extent_inline_ref_offset(eb, iref); in btrfs_backref_add_tree_node()