Lines Matching refs:eb
62 struct extent_buffer *eb; member
394 btrfs_tree_unlock(node->eb); in unlock_node_buffer()
401 if (node->eb) { in drop_node_buffer()
403 free_extent_buffer(node->eb); in drop_node_buffer()
404 node->eb = NULL; in drop_node_buffer()
686 struct extent_buffer *eb; local
767 eb = path1->nodes[0];
770 if (path1->slots[0] >= btrfs_header_nritems(eb)) {
778 eb = path1->nodes[0];
781 btrfs_item_key_to_cpu(eb, &key, path1->slots[0]);
789 ret = find_inline_backref(eb, path1->slots[0],
800 key.type = btrfs_extent_inline_ref_type(eb, iref);
801 key.offset = btrfs_extent_inline_ref_offset(eb, iref);
820 ref0 = btrfs_item_ptr(eb, path1->slots[0],
823 root = find_tree_root(rc, eb, ref0);
830 if (is_cowonly_root(btrfs_ref_root_v0(eb,
923 eb = path2->nodes[level];
924 WARN_ON(btrfs_node_blockptr(eb, path2->slots[level]) !=
946 eb = path2->nodes[level];
947 rb_node = tree_search(&cache->rb_root, eb->start);
955 upper->bytenr = eb->start;
956 upper->owner = btrfs_header_owner(eb);
966 if (btrfs_block_can_be_shared(root, eb))
992 upper->owner = btrfs_header_owner(eb);
1370 struct extent_buffer *eb; local
1385 ret = btrfs_copy_root(trans, root, root->commit_root, &eb,
1400 ret = btrfs_copy_root(trans, root, root->node, &eb,
1406 btrfs_set_root_bytenr(root_item, eb->start);
1407 btrfs_set_root_level(root_item, btrfs_header_level(eb));
1423 btrfs_tree_unlock(eb);
1424 free_extent_buffer(eb);
1741 int memcmp_node_keys(struct extent_buffer *eb, int slot, argument
1746 btrfs_node_key(eb, &key1, slot);
1766 struct extent_buffer *eb; local
1788 eb = btrfs_lock_root_node(dest);
1789 btrfs_set_lock_blocking(eb);
1790 level = btrfs_header_level(eb);
1793 btrfs_tree_unlock(eb);
1794 free_extent_buffer(eb);
1799 ret = btrfs_cow_block(trans, dest, eb, NULL, 0, &eb);
1802 btrfs_set_lock_blocking(eb);
1810 parent = eb;
1827 eb = path->nodes[level];
1828 new_bytenr = btrfs_node_blockptr(eb,
1830 new_ptr_gen = btrfs_node_ptr_generation(eb,
1849 eb = read_tree_block(dest, old_bytenr, old_ptr_gen);
1850 if (IS_ERR(eb)) {
1851 ret = PTR_ERR(eb);
1852 } else if (!extent_buffer_uptodate(eb)) {
1854 free_extent_buffer(eb);
1857 btrfs_tree_lock(eb);
1859 ret = btrfs_cow_block(trans, dest, eb, parent,
1860 slot, &eb);
1863 btrfs_set_lock_blocking(eb);
1868 parent = eb;
1937 struct extent_buffer *eb; local
1950 eb = path->nodes[i];
1951 nritems = btrfs_header_nritems(eb);
1954 if (btrfs_node_ptr_generation(eb, path->slots[i]) <=
1974 struct extent_buffer *eb = NULL; local
1984 eb = path->nodes[i];
1985 nritems = btrfs_header_nritems(eb);
1987 ptr_gen = btrfs_node_ptr_generation(eb, path->slots[i]);
2003 bytenr = btrfs_node_blockptr(eb, path->slots[i]);
2004 eb = read_tree_block(root, bytenr, ptr_gen);
2005 if (IS_ERR(eb)) {
2006 return PTR_ERR(eb);
2007 } else if (!extent_buffer_uptodate(eb)) {
2008 free_extent_buffer(eb);
2011 BUG_ON(btrfs_header_level(eb) != i - 1);
2012 path->nodes[i - 1] = eb;
2646 struct extent_buffer *eb; local
2654 BUG_ON(lowest && node->eb);
2665 if (upper->eb && !upper->locked) {
2667 ret = btrfs_bin_search(upper->eb, key,
2670 bytenr = btrfs_node_blockptr(upper->eb, slot);
2671 if (node->eb->start == bytenr)
2677 if (!upper->eb) {
2685 if (!upper->eb) {
2686 upper->eb = path->nodes[upper->level];
2689 BUG_ON(upper->eb != path->nodes[upper->level]);
2698 ret = btrfs_bin_search(upper->eb, key, upper->level,
2703 bytenr = btrfs_node_blockptr(upper->eb, slot);
2707 if (node->eb->start == bytenr)
2712 generation = btrfs_node_ptr_generation(upper->eb, slot);
2713 eb = read_tree_block(root, bytenr, generation);
2714 if (IS_ERR(eb)) {
2715 err = PTR_ERR(eb);
2717 } else if (!extent_buffer_uptodate(eb)) {
2718 free_extent_buffer(eb);
2722 btrfs_tree_lock(eb);
2723 btrfs_set_lock_blocking(eb);
2725 if (!node->eb) {
2726 ret = btrfs_cow_block(trans, root, eb, upper->eb,
2727 slot, &eb);
2728 btrfs_tree_unlock(eb);
2729 free_extent_buffer(eb);
2734 BUG_ON(node->eb != eb);
2736 btrfs_set_node_blockptr(upper->eb, slot,
2737 node->eb->start);
2738 btrfs_set_node_ptr_generation(upper->eb, slot,
2740 btrfs_mark_buffer_dirty(upper->eb);
2743 node->eb->start, blocksize,
2744 upper->eb->start,
2745 btrfs_header_owner(upper->eb),
2749 ret = btrfs_drop_subtree(trans, root, eb, upper->eb);
2779 btrfs_node_key_to_cpu(node->eb, &key, 0);
2875 struct extent_buffer *eb; local
2878 eb = read_tree_block(rc->extent_root, block->bytenr,
2880 if (IS_ERR(eb)) {
2881 return PTR_ERR(eb);
2882 } else if (!extent_buffer_uptodate(eb)) {
2883 free_extent_buffer(eb);
2886 WARN_ON(btrfs_header_level(eb) != block->level);
2888 btrfs_item_key_to_cpu(eb, &block->key, 0);
2890 btrfs_node_key_to_cpu(eb, &block->key, 0);
2891 free_extent_buffer(eb);
3286 struct extent_buffer *eb; local
3295 eb = path->nodes[0];
3296 item_size = btrfs_item_size_nr(eb, path->slots[0]);
3300 ei = btrfs_item_ptr(eb, path->slots[0],
3304 level = btrfs_tree_block_level(eb, bi);
3308 generation = btrfs_extent_generation(eb, ei);
3417 struct extent_buffer *eb) argument
3422 if (btrfs_header_flag(eb, BTRFS_HEADER_FLAG_RELOC) ||
3423 btrfs_header_backref_rev(eb) < BTRFS_MIXED_BACKREF_REV)
3427 eb->start, btrfs_header_level(eb), 1,
3662 struct extent_buffer *eb; local
3671 eb = path->nodes[0];
3672 ptr = btrfs_item_ptr_offset(eb, path->slots[0]);
3673 end = ptr + btrfs_item_size_nr(eb, path->slots[0]);
3683 key.type = btrfs_extent_inline_ref_type(eb, iref);
3685 key.offset = btrfs_extent_inline_ref_offset(eb, iref);
3691 eb, dref, blocks);
3705 eb = path->nodes[0];
3706 if (path->slots[0] >= btrfs_header_nritems(eb)) {
3714 eb = path->nodes[0];
3717 btrfs_item_key_to_cpu(eb, &key, path->slots[0]);
3731 dref = btrfs_item_ptr(eb, path->slots[0],
3734 eb, dref, blocks);
4570 node->eb = cow;