Lines Matching refs:leaf
45 struct extent_buffer *leaf,
158 struct extent_buffer *leaf; in btrfs_lookup_extent_info() local
208 leaf = path->nodes[0]; in btrfs_lookup_extent_info()
209 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in btrfs_lookup_extent_info()
211 ei = btrfs_item_ptr(leaf, path->slots[0], in btrfs_lookup_extent_info()
213 num_refs = btrfs_extent_refs(leaf, ei); in btrfs_lookup_extent_info()
214 extent_flags = btrfs_extent_flags(leaf, ei); in btrfs_lookup_extent_info()
457 static u64 hash_extent_data_ref_item(struct extent_buffer *leaf, in hash_extent_data_ref_item() argument
460 return hash_extent_data_ref(btrfs_extent_data_ref_root(leaf, ref), in hash_extent_data_ref_item()
461 btrfs_extent_data_ref_objectid(leaf, ref), in hash_extent_data_ref_item()
462 btrfs_extent_data_ref_offset(leaf, ref)); in hash_extent_data_ref_item()
465 static int match_extent_data_ref(struct extent_buffer *leaf, in match_extent_data_ref() argument
469 if (btrfs_extent_data_ref_root(leaf, ref) != root_objectid || in match_extent_data_ref()
470 btrfs_extent_data_ref_objectid(leaf, ref) != owner || in match_extent_data_ref()
471 btrfs_extent_data_ref_offset(leaf, ref) != offset) in match_extent_data_ref()
485 struct extent_buffer *leaf; in lookup_extent_data_ref() local
514 leaf = path->nodes[0]; in lookup_extent_data_ref()
515 nritems = btrfs_header_nritems(leaf); in lookup_extent_data_ref()
524 leaf = path->nodes[0]; in lookup_extent_data_ref()
525 nritems = btrfs_header_nritems(leaf); in lookup_extent_data_ref()
529 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in lookup_extent_data_ref()
534 ref = btrfs_item_ptr(leaf, path->slots[0], in lookup_extent_data_ref()
537 if (match_extent_data_ref(leaf, ref, root_objectid, in lookup_extent_data_ref()
560 struct extent_buffer *leaf; in insert_extent_data_ref() local
581 leaf = path->nodes[0]; in insert_extent_data_ref()
584 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
587 btrfs_set_shared_data_ref_count(leaf, ref, refs_to_add); in insert_extent_data_ref()
589 num_refs = btrfs_shared_data_ref_count(leaf, ref); in insert_extent_data_ref()
591 btrfs_set_shared_data_ref_count(leaf, ref, num_refs); in insert_extent_data_ref()
596 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
598 if (match_extent_data_ref(leaf, ref, root_objectid, in insert_extent_data_ref()
608 leaf = path->nodes[0]; in insert_extent_data_ref()
610 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
613 btrfs_set_extent_data_ref_root(leaf, ref, in insert_extent_data_ref()
615 btrfs_set_extent_data_ref_objectid(leaf, ref, owner); in insert_extent_data_ref()
616 btrfs_set_extent_data_ref_offset(leaf, ref, offset); in insert_extent_data_ref()
617 btrfs_set_extent_data_ref_count(leaf, ref, refs_to_add); in insert_extent_data_ref()
619 num_refs = btrfs_extent_data_ref_count(leaf, ref); in insert_extent_data_ref()
621 btrfs_set_extent_data_ref_count(leaf, ref, num_refs); in insert_extent_data_ref()
624 btrfs_mark_buffer_dirty(leaf); in insert_extent_data_ref()
638 struct extent_buffer *leaf; in remove_extent_data_ref() local
642 leaf = path->nodes[0]; in remove_extent_data_ref()
643 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in remove_extent_data_ref()
646 ref1 = btrfs_item_ptr(leaf, path->slots[0], in remove_extent_data_ref()
648 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in remove_extent_data_ref()
650 ref2 = btrfs_item_ptr(leaf, path->slots[0], in remove_extent_data_ref()
652 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in remove_extent_data_ref()
669 btrfs_set_extent_data_ref_count(leaf, ref1, num_refs); in remove_extent_data_ref()
671 btrfs_set_shared_data_ref_count(leaf, ref2, num_refs); in remove_extent_data_ref()
672 btrfs_mark_buffer_dirty(leaf); in remove_extent_data_ref()
681 struct extent_buffer *leaf; in extent_data_ref_count() local
687 leaf = path->nodes[0]; in extent_data_ref_count()
688 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in extent_data_ref_count()
696 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_DATA); in extent_data_ref_count()
700 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in extent_data_ref_count()
703 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in extent_data_ref_count()
706 ref1 = btrfs_item_ptr(leaf, path->slots[0], in extent_data_ref_count()
708 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in extent_data_ref_count()
710 ref2 = btrfs_item_ptr(leaf, path->slots[0], in extent_data_ref_count()
712 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in extent_data_ref_count()
828 struct extent_buffer *leaf; in lookup_inline_extent_backref() local
902 leaf = path->nodes[0]; in lookup_inline_extent_backref()
903 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in lookup_inline_extent_backref()
911 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in lookup_inline_extent_backref()
912 flags = btrfs_extent_flags(leaf, ei); in lookup_inline_extent_backref()
934 type = btrfs_get_extent_inline_ref_type(leaf, iref, needed); in lookup_inline_extent_backref()
950 if (match_extent_data_ref(leaf, dref, root_objectid, in lookup_inline_extent_backref()
955 if (hash_extent_data_ref_item(leaf, dref) < in lookup_inline_extent_backref()
960 ref_offset = btrfs_extent_inline_ref_offset(leaf, iref); in lookup_inline_extent_backref()
1018 struct extent_buffer *leaf; in setup_inline_extent_backref() local
1027 leaf = path->nodes[0]; in setup_inline_extent_backref()
1028 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in setup_inline_extent_backref()
1036 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in setup_inline_extent_backref()
1037 refs = btrfs_extent_refs(leaf, ei); in setup_inline_extent_backref()
1039 btrfs_set_extent_refs(leaf, ei, refs); in setup_inline_extent_backref()
1041 __run_delayed_extent_op(extent_op, leaf, ei); in setup_inline_extent_backref()
1044 end = (unsigned long)ei + btrfs_item_size_nr(leaf, path->slots[0]); in setup_inline_extent_backref()
1046 memmove_extent_buffer(leaf, ptr + size, ptr, in setup_inline_extent_backref()
1050 btrfs_set_extent_inline_ref_type(leaf, iref, type); in setup_inline_extent_backref()
1054 btrfs_set_extent_data_ref_root(leaf, dref, root_objectid); in setup_inline_extent_backref()
1055 btrfs_set_extent_data_ref_objectid(leaf, dref, owner); in setup_inline_extent_backref()
1056 btrfs_set_extent_data_ref_offset(leaf, dref, offset); in setup_inline_extent_backref()
1057 btrfs_set_extent_data_ref_count(leaf, dref, refs_to_add); in setup_inline_extent_backref()
1061 btrfs_set_shared_data_ref_count(leaf, sref, refs_to_add); in setup_inline_extent_backref()
1062 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in setup_inline_extent_backref()
1064 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in setup_inline_extent_backref()
1066 btrfs_set_extent_inline_ref_offset(leaf, iref, root_objectid); in setup_inline_extent_backref()
1068 btrfs_mark_buffer_dirty(leaf); in setup_inline_extent_backref()
1108 struct extent_buffer *leaf = path->nodes[0]; in update_inline_extent_backref() local
1119 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in update_inline_extent_backref()
1120 refs = btrfs_extent_refs(leaf, ei); in update_inline_extent_backref()
1123 btrfs_set_extent_refs(leaf, ei, refs); in update_inline_extent_backref()
1125 __run_delayed_extent_op(extent_op, leaf, ei); in update_inline_extent_backref()
1131 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_ANY); in update_inline_extent_backref()
1136 refs = btrfs_extent_data_ref_count(leaf, dref); in update_inline_extent_backref()
1139 refs = btrfs_shared_data_ref_count(leaf, sref); in update_inline_extent_backref()
1150 btrfs_set_extent_data_ref_count(leaf, dref, refs); in update_inline_extent_backref()
1152 btrfs_set_shared_data_ref_count(leaf, sref, refs); in update_inline_extent_backref()
1156 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in update_inline_extent_backref()
1160 memmove_extent_buffer(leaf, ptr, ptr + size, in update_inline_extent_backref()
1165 btrfs_mark_buffer_dirty(leaf); in update_inline_extent_backref()
1438 struct extent_buffer *leaf; in __btrfs_inc_extent_ref() local
1464 leaf = path->nodes[0]; in __btrfs_inc_extent_ref()
1465 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_inc_extent_ref()
1466 item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in __btrfs_inc_extent_ref()
1467 refs = btrfs_extent_refs(leaf, item); in __btrfs_inc_extent_ref()
1468 btrfs_set_extent_refs(leaf, item, refs + refs_to_add); in __btrfs_inc_extent_ref()
1470 __run_delayed_extent_op(extent_op, leaf, item); in __btrfs_inc_extent_ref()
1472 btrfs_mark_buffer_dirty(leaf); in __btrfs_inc_extent_ref()
1533 struct extent_buffer *leaf, in __run_delayed_extent_op() argument
1536 u64 flags = btrfs_extent_flags(leaf, ei); in __run_delayed_extent_op()
1539 btrfs_set_extent_flags(leaf, ei, flags); in __run_delayed_extent_op()
1546 btrfs_set_tree_block_key(leaf, bi, &extent_op->key); in __run_delayed_extent_op()
1558 struct extent_buffer *leaf; in run_delayed_extent_op() local
1618 leaf = path->nodes[0]; in run_delayed_extent_op()
1619 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in run_delayed_extent_op()
1628 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in run_delayed_extent_op()
1629 __run_delayed_extent_op(extent_op, leaf, ei); in run_delayed_extent_op()
1631 btrfs_mark_buffer_dirty(leaf); in run_delayed_extent_op()
2327 struct extent_buffer *leaf; in check_committed_ref() local
2350 leaf = path->nodes[0]; in check_committed_ref()
2351 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in check_committed_ref()
2357 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in check_committed_ref()
2358 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in check_committed_ref()
2366 if (btrfs_extent_generation(leaf, ei) <= in check_committed_ref()
2373 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_DATA); in check_committed_ref()
2378 if (btrfs_extent_refs(leaf, ei) != in check_committed_ref()
2379 btrfs_extent_data_ref_count(leaf, ref) || in check_committed_ref()
2380 btrfs_extent_data_ref_root(leaf, ref) != in check_committed_ref()
2382 btrfs_extent_data_ref_objectid(leaf, ref) != objectid || in check_committed_ref()
2383 btrfs_extent_data_ref_offset(leaf, ref) != offset) in check_committed_ref()
2958 struct extent_buffer *leaf; in __btrfs_free_extent() local
3084 leaf = path->nodes[0]; in __btrfs_free_extent()
3085 item_size = btrfs_item_size_nr(leaf, extent_slot); in __btrfs_free_extent()
3092 ei = btrfs_item_ptr(leaf, extent_slot, in __btrfs_free_extent()
3099 WARN_ON(owner_objectid != btrfs_tree_block_level(leaf, bi)); in __btrfs_free_extent()
3102 refs = btrfs_extent_refs(leaf, ei); in __btrfs_free_extent()
3115 __run_delayed_extent_op(extent_op, leaf, ei); in __btrfs_free_extent()
3123 btrfs_set_extent_refs(leaf, ei, refs); in __btrfs_free_extent()
3124 btrfs_mark_buffer_dirty(leaf); in __btrfs_free_extent()
4182 struct extent_buffer *leaf; in alloc_reserved_file_extent() local
4205 leaf = path->nodes[0]; in alloc_reserved_file_extent()
4206 extent_item = btrfs_item_ptr(leaf, path->slots[0], in alloc_reserved_file_extent()
4208 btrfs_set_extent_refs(leaf, extent_item, ref_mod); in alloc_reserved_file_extent()
4209 btrfs_set_extent_generation(leaf, extent_item, trans->transid); in alloc_reserved_file_extent()
4210 btrfs_set_extent_flags(leaf, extent_item, in alloc_reserved_file_extent()
4214 btrfs_set_extent_inline_ref_type(leaf, iref, type); in alloc_reserved_file_extent()
4218 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in alloc_reserved_file_extent()
4219 btrfs_set_shared_data_ref_count(leaf, ref, ref_mod); in alloc_reserved_file_extent()
4223 btrfs_set_extent_data_ref_root(leaf, ref, root_objectid); in alloc_reserved_file_extent()
4224 btrfs_set_extent_data_ref_objectid(leaf, ref, owner); in alloc_reserved_file_extent()
4225 btrfs_set_extent_data_ref_offset(leaf, ref, offset); in alloc_reserved_file_extent()
4226 btrfs_set_extent_data_ref_count(leaf, ref, ref_mod); in alloc_reserved_file_extent()
4257 struct extent_buffer *leaf; in alloc_reserved_tree_block() local
4290 leaf = path->nodes[0]; in alloc_reserved_tree_block()
4291 extent_item = btrfs_item_ptr(leaf, path->slots[0], in alloc_reserved_tree_block()
4293 btrfs_set_extent_refs(leaf, extent_item, 1); in alloc_reserved_tree_block()
4294 btrfs_set_extent_generation(leaf, extent_item, trans->transid); in alloc_reserved_tree_block()
4295 btrfs_set_extent_flags(leaf, extent_item, in alloc_reserved_tree_block()
4302 btrfs_set_tree_block_key(leaf, block_info, &extent_op->key); in alloc_reserved_tree_block()
4303 btrfs_set_tree_block_level(leaf, block_info, ref->level); in alloc_reserved_tree_block()
4309 btrfs_set_extent_inline_ref_type(leaf, iref, in alloc_reserved_tree_block()
4311 btrfs_set_extent_inline_ref_offset(leaf, iref, ref->parent); in alloc_reserved_tree_block()
4313 btrfs_set_extent_inline_ref_type(leaf, iref, in alloc_reserved_tree_block()
4315 btrfs_set_extent_inline_ref_offset(leaf, iref, ref->root); in alloc_reserved_tree_block()
4318 btrfs_mark_buffer_dirty(leaf); in alloc_reserved_tree_block()