Lines Matching refs:eb

37 			      const struct extent_buffer *eb,  in check_extent_in_eb()  argument
41 const u64 data_len = btrfs_file_extent_num_bytes(eb, fi); in check_extent_in_eb()
49 !btrfs_file_extent_compression(eb, fi) && in check_extent_in_eb()
50 !btrfs_file_extent_encryption(eb, fi) && in check_extent_in_eb()
51 !btrfs_file_extent_other_encoding(eb, fi)) { in check_extent_in_eb()
54 data_offset = btrfs_file_extent_offset(eb, fi); in check_extent_in_eb()
65 cached = ctx->cache_lookup(eb->start, ctx->user_ctx, &root_ids, in check_extent_in_eb()
105 const struct extent_buffer *eb, in find_extent_in_eb() argument
121 nritems = btrfs_header_nritems(eb); in find_extent_in_eb()
123 btrfs_item_key_to_cpu(eb, &key, slot); in find_extent_in_eb()
126 fi = btrfs_item_ptr(eb, slot, struct btrfs_file_extent_item); in find_extent_in_eb()
127 extent_type = btrfs_file_extent_type(eb, fi); in find_extent_in_eb()
131 disk_byte = btrfs_file_extent_disk_bytenr(eb, fi); in find_extent_in_eb()
135 ret = check_extent_in_eb(ctx, &key, eb, fi, eie); in find_extent_in_eb()
476 struct extent_buffer *eb; in add_all_parents() local
488 eb = path->nodes[level]; in add_all_parents()
489 ret = ulist_add(parents, eb->start, 0, GFP_NOFS); in add_all_parents()
505 eb = path->nodes[0]; in add_all_parents()
506 if (path->slots[0] >= btrfs_header_nritems(eb) || in add_all_parents()
507 is_shared_data_backref(preftrees, eb->start) || in add_all_parents()
508 ref->root_id != btrfs_header_owner(eb)) { in add_all_parents()
516 eb = path->nodes[0]; in add_all_parents()
519 btrfs_item_key_to_cpu(eb, &key, slot); in add_all_parents()
531 (is_shared_data_backref(preftrees, eb->start) || in add_all_parents()
532 ref->root_id != btrfs_header_owner(eb))) { in add_all_parents()
539 fi = btrfs_item_ptr(eb, slot, struct btrfs_file_extent_item); in add_all_parents()
540 type = btrfs_file_extent_type(eb, fi); in add_all_parents()
543 disk_byte = btrfs_file_extent_disk_bytenr(eb, fi); in add_all_parents()
544 data_offset = btrfs_file_extent_offset(eb, fi); in add_all_parents()
554 ret = check_extent_in_eb(ctx, &key, eb, fi, &eie); in add_all_parents()
561 ret = ulist_add_merge_ptr(parents, eb->start, in add_all_parents()
597 struct extent_buffer *eb; in resolve_indirect_ref() local
677 eb = path->nodes[level]; in resolve_indirect_ref()
678 while (!eb) { in resolve_indirect_ref()
684 eb = path->nodes[level]; in resolve_indirect_ref()
841 struct extent_buffer *eb; in add_missing_keys() local
858 eb = read_tree_block(fs_info, ref->wanted_disk_byte, &check); in add_missing_keys()
859 if (IS_ERR(eb)) { in add_missing_keys()
861 return PTR_ERR(eb); in add_missing_keys()
863 if (!extent_buffer_uptodate(eb)) { in add_missing_keys()
865 free_extent_buffer(eb); in add_missing_keys()
870 btrfs_tree_read_lock(eb); in add_missing_keys()
871 if (btrfs_header_level(eb) == 0) in add_missing_keys()
872 btrfs_item_key_to_cpu(eb, &ref->key_for_search, 0); in add_missing_keys()
874 btrfs_node_key_to_cpu(eb, &ref->key_for_search, 0); in add_missing_keys()
876 btrfs_tree_read_unlock(eb); in add_missing_keys()
877 free_extent_buffer(eb); in add_missing_keys()
1607 struct extent_buffer *eb; in find_parent_nodes() local
1611 eb = read_tree_block(ctx->fs_info, ref->parent, in find_parent_nodes()
1613 if (IS_ERR(eb)) { in find_parent_nodes()
1614 ret = PTR_ERR(eb); in find_parent_nodes()
1617 if (!extent_buffer_uptodate(eb)) { in find_parent_nodes()
1618 free_extent_buffer(eb); in find_parent_nodes()
1624 btrfs_tree_read_lock(eb); in find_parent_nodes()
1625 ret = find_extent_in_eb(ctx, eb, &eie); in find_parent_nodes()
1627 btrfs_tree_read_unlock(eb); in find_parent_nodes()
1628 free_extent_buffer(eb); in find_parent_nodes()
2134 struct extent_buffer *eb = eb_in; in btrfs_ref_to_path() local
2144 read_extent_buffer(eb, dest + bytes_left, in btrfs_ref_to_path()
2146 if (eb != eb_in) { in btrfs_ref_to_path()
2148 btrfs_tree_read_unlock(eb); in btrfs_ref_to_path()
2149 free_extent_buffer(eb); in btrfs_ref_to_path()
2165 eb = path->nodes[0]; in btrfs_ref_to_path()
2167 if (eb != eb_in) { in btrfs_ref_to_path()
2172 iref = btrfs_item_ptr(eb, slot, struct btrfs_inode_ref); in btrfs_ref_to_path()
2174 name_len = btrfs_inode_ref_name_len(eb, iref); in btrfs_ref_to_path()
2205 const struct extent_buffer *eb; in extent_from_logical() local
2246 eb = path->nodes[0]; in extent_from_logical()
2247 item_size = btrfs_item_size(eb, path->slots[0]); in extent_from_logical()
2249 ei = btrfs_item_ptr(eb, path->slots[0], struct btrfs_extent_item); in extent_from_logical()
2250 flags = btrfs_extent_flags(eb, ei); in extent_from_logical()
2280 const struct extent_buffer *eb, in get_extent_inline_ref() argument
2293 flags = btrfs_extent_flags(eb, ei); in get_extent_inline_ref()
2315 *out_type = btrfs_get_extent_inline_ref_type(eb, *out_eiref, in get_extent_inline_ref()
2335 int tree_backref_for_extent(unsigned long *ptr, struct extent_buffer *eb, in tree_backref_for_extent() argument
2347 ret = get_extent_inline_ref(ptr, eb, key, ei, item_size, in tree_backref_for_extent()
2361 *out_root = btrfs_extent_inline_ref_offset(eb, eiref); in tree_backref_for_extent()
2367 *out_level = btrfs_tree_block_level(eb, info); in tree_backref_for_extent()
2579 struct extent_buffer *eb, struct inode_fs_paths *ipath);
2592 struct extent_buffer *eb; in iterate_inode_refs() local
2611 eb = btrfs_clone_extent_buffer(path->nodes[0]); in iterate_inode_refs()
2612 if (!eb) { in iterate_inode_refs()
2618 iref = btrfs_item_ptr(eb, slot, struct btrfs_inode_ref); in iterate_inode_refs()
2620 for (cur = 0; cur < btrfs_item_size(eb, slot); cur += len) { in iterate_inode_refs()
2621 name_len = btrfs_inode_ref_name_len(eb, iref); in iterate_inode_refs()
2628 (unsigned long)(iref + 1), eb, ipath); in iterate_inode_refs()
2634 free_extent_buffer(eb); in iterate_inode_refs()
2651 struct extent_buffer *eb; in iterate_inode_extrefs() local
2669 eb = btrfs_clone_extent_buffer(path->nodes[0]); in iterate_inode_extrefs()
2670 if (!eb) { in iterate_inode_extrefs()
2676 item_size = btrfs_item_size(eb, slot); in iterate_inode_extrefs()
2677 ptr = btrfs_item_ptr_offset(eb, slot); in iterate_inode_extrefs()
2684 parent = btrfs_inode_extref_parent(eb, extref); in iterate_inode_extrefs()
2685 name_len = btrfs_inode_extref_name_len(eb, extref); in iterate_inode_extrefs()
2687 (unsigned long)&extref->name, eb, ipath); in iterate_inode_extrefs()
2691 cur_offset += btrfs_inode_extref_name_len(eb, extref); in iterate_inode_extrefs()
2694 free_extent_buffer(eb); in iterate_inode_extrefs()
2709 struct extent_buffer *eb, struct inode_fs_paths *ipath) in inode_to_path() argument
2722 name_off, eb, inum, fspath_min, bytes_left); in inode_to_path()
2966 struct extent_buffer *eb = iter->path->nodes[0]; in btrfs_backref_iter_next() local
2986 type = btrfs_extent_inline_ref_type(eb, iref); in btrfs_backref_iter_next()
3060 ASSERT(node->eb == NULL); in btrfs_backref_free_node()
3090 btrfs_tree_unlock(node->eb); in btrfs_backref_unlock_node_buffer()
3097 if (node->eb) { in btrfs_backref_drop_node_buffer()
3099 free_extent_buffer(node->eb); in btrfs_backref_drop_node_buffer()
3100 node->eb = NULL; in btrfs_backref_drop_node_buffer()
3308 struct extent_buffer *eb; in handle_indirect_tree_backref() local
3358 eb = path->nodes[level]; in handle_indirect_tree_backref()
3359 if (btrfs_node_blockptr(eb, path->slots[level]) != cur->bytenr) { in handle_indirect_tree_backref()
3393 eb = path->nodes[level]; in handle_indirect_tree_backref()
3394 rb_node = rb_simple_search(&cache->rb_root, eb->start); in handle_indirect_tree_backref()
3396 upper = btrfs_backref_alloc_node(cache, eb->start, in handle_indirect_tree_backref()
3404 upper->owner = btrfs_header_owner(eb); in handle_indirect_tree_backref()
3412 if (btrfs_block_can_be_shared(trans, root, eb)) in handle_indirect_tree_backref()
3437 upper->owner = btrfs_header_owner(eb); in handle_indirect_tree_backref()
3515 struct extent_buffer *eb; in btrfs_backref_add_tree_node() local
3520 eb = iter->path->nodes[0]; in btrfs_backref_add_tree_node()
3529 type = btrfs_get_extent_inline_ref_type(eb, iref, in btrfs_backref_add_tree_node()
3536 key.offset = btrfs_extent_inline_ref_offset(eb, iref); in btrfs_backref_add_tree_node()