Lines Matching refs:leaf

55 				    struct extent_buffer *leaf,
110 struct extent_buffer *leaf; in btrfs_lookup_extent_info() local
161 leaf = path->nodes[0]; in btrfs_lookup_extent_info()
162 item_size = btrfs_item_size(leaf, path->slots[0]); in btrfs_lookup_extent_info()
164 ei = btrfs_item_ptr(leaf, path->slots[0], in btrfs_lookup_extent_info()
166 num_refs = btrfs_extent_refs(leaf, ei); in btrfs_lookup_extent_info()
167 extent_flags = btrfs_extent_flags(leaf, ei); in btrfs_lookup_extent_info()
411 static u64 hash_extent_data_ref_item(struct extent_buffer *leaf, in hash_extent_data_ref_item() argument
414 return hash_extent_data_ref(btrfs_extent_data_ref_root(leaf, ref), in hash_extent_data_ref_item()
415 btrfs_extent_data_ref_objectid(leaf, ref), in hash_extent_data_ref_item()
416 btrfs_extent_data_ref_offset(leaf, ref)); in hash_extent_data_ref_item()
419 static int match_extent_data_ref(struct extent_buffer *leaf, in match_extent_data_ref() argument
423 if (btrfs_extent_data_ref_root(leaf, ref) != root_objectid || in match_extent_data_ref()
424 btrfs_extent_data_ref_objectid(leaf, ref) != owner || in match_extent_data_ref()
425 btrfs_extent_data_ref_offset(leaf, ref) != offset) in match_extent_data_ref()
439 struct extent_buffer *leaf; in lookup_extent_data_ref() local
468 leaf = path->nodes[0]; in lookup_extent_data_ref()
469 nritems = btrfs_header_nritems(leaf); in lookup_extent_data_ref()
478 leaf = path->nodes[0]; in lookup_extent_data_ref()
479 nritems = btrfs_header_nritems(leaf); in lookup_extent_data_ref()
483 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in lookup_extent_data_ref()
488 ref = btrfs_item_ptr(leaf, path->slots[0], in lookup_extent_data_ref()
491 if (match_extent_data_ref(leaf, ref, root_objectid, in lookup_extent_data_ref()
514 struct extent_buffer *leaf; in insert_extent_data_ref() local
535 leaf = path->nodes[0]; in insert_extent_data_ref()
538 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
541 btrfs_set_shared_data_ref_count(leaf, ref, refs_to_add); in insert_extent_data_ref()
543 num_refs = btrfs_shared_data_ref_count(leaf, ref); in insert_extent_data_ref()
545 btrfs_set_shared_data_ref_count(leaf, ref, num_refs); in insert_extent_data_ref()
550 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
552 if (match_extent_data_ref(leaf, ref, root_objectid, in insert_extent_data_ref()
562 leaf = path->nodes[0]; in insert_extent_data_ref()
564 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
567 btrfs_set_extent_data_ref_root(leaf, ref, in insert_extent_data_ref()
569 btrfs_set_extent_data_ref_objectid(leaf, ref, owner); in insert_extent_data_ref()
570 btrfs_set_extent_data_ref_offset(leaf, ref, offset); in insert_extent_data_ref()
571 btrfs_set_extent_data_ref_count(leaf, ref, refs_to_add); in insert_extent_data_ref()
573 num_refs = btrfs_extent_data_ref_count(leaf, ref); in insert_extent_data_ref()
575 btrfs_set_extent_data_ref_count(leaf, ref, num_refs); in insert_extent_data_ref()
578 btrfs_mark_buffer_dirty(leaf); in insert_extent_data_ref()
593 struct extent_buffer *leaf; in remove_extent_data_ref() local
597 leaf = path->nodes[0]; in remove_extent_data_ref()
598 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in remove_extent_data_ref()
601 ref1 = btrfs_item_ptr(leaf, path->slots[0], in remove_extent_data_ref()
603 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in remove_extent_data_ref()
605 ref2 = btrfs_item_ptr(leaf, path->slots[0], in remove_extent_data_ref()
607 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in remove_extent_data_ref()
623 btrfs_set_extent_data_ref_count(leaf, ref1, num_refs); in remove_extent_data_ref()
625 btrfs_set_shared_data_ref_count(leaf, ref2, num_refs); in remove_extent_data_ref()
626 btrfs_mark_buffer_dirty(leaf); in remove_extent_data_ref()
635 struct extent_buffer *leaf; in extent_data_ref_count() local
641 leaf = path->nodes[0]; in extent_data_ref_count()
642 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in extent_data_ref_count()
649 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_DATA); in extent_data_ref_count()
653 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in extent_data_ref_count()
656 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in extent_data_ref_count()
659 ref1 = btrfs_item_ptr(leaf, path->slots[0], in extent_data_ref_count()
661 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in extent_data_ref_count()
663 ref2 = btrfs_item_ptr(leaf, path->slots[0], in extent_data_ref_count()
665 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in extent_data_ref_count()
781 struct extent_buffer *leaf; in lookup_inline_extent_backref() local
861 leaf = path->nodes[0]; in lookup_inline_extent_backref()
862 item_size = btrfs_item_size(leaf, path->slots[0]); in lookup_inline_extent_backref()
872 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in lookup_inline_extent_backref()
873 flags = btrfs_extent_flags(leaf, ei); in lookup_inline_extent_backref()
901 type = btrfs_get_extent_inline_ref_type(leaf, iref, needed); in lookup_inline_extent_backref()
917 if (match_extent_data_ref(leaf, dref, root_objectid, in lookup_inline_extent_backref()
922 if (hash_extent_data_ref_item(leaf, dref) < in lookup_inline_extent_backref()
927 ref_offset = btrfs_extent_inline_ref_offset(leaf, iref); in lookup_inline_extent_backref()
986 struct extent_buffer *leaf; in setup_inline_extent_backref() local
995 leaf = path->nodes[0]; in setup_inline_extent_backref()
996 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in setup_inline_extent_backref()
1004 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in setup_inline_extent_backref()
1005 refs = btrfs_extent_refs(leaf, ei); in setup_inline_extent_backref()
1007 btrfs_set_extent_refs(leaf, ei, refs); in setup_inline_extent_backref()
1009 __run_delayed_extent_op(extent_op, leaf, ei); in setup_inline_extent_backref()
1012 end = (unsigned long)ei + btrfs_item_size(leaf, path->slots[0]); in setup_inline_extent_backref()
1014 memmove_extent_buffer(leaf, ptr + size, ptr, in setup_inline_extent_backref()
1018 btrfs_set_extent_inline_ref_type(leaf, iref, type); in setup_inline_extent_backref()
1022 btrfs_set_extent_data_ref_root(leaf, dref, root_objectid); in setup_inline_extent_backref()
1023 btrfs_set_extent_data_ref_objectid(leaf, dref, owner); in setup_inline_extent_backref()
1024 btrfs_set_extent_data_ref_offset(leaf, dref, offset); in setup_inline_extent_backref()
1025 btrfs_set_extent_data_ref_count(leaf, dref, refs_to_add); in setup_inline_extent_backref()
1029 btrfs_set_shared_data_ref_count(leaf, sref, refs_to_add); in setup_inline_extent_backref()
1030 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in setup_inline_extent_backref()
1032 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in setup_inline_extent_backref()
1034 btrfs_set_extent_inline_ref_offset(leaf, iref, root_objectid); in setup_inline_extent_backref()
1036 btrfs_mark_buffer_dirty(leaf); in setup_inline_extent_backref()
1074 struct extent_buffer *leaf = path->nodes[0]; in update_inline_extent_backref() local
1075 struct btrfs_fs_info *fs_info = leaf->fs_info; in update_inline_extent_backref()
1086 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in update_inline_extent_backref()
1087 refs = btrfs_extent_refs(leaf, ei); in update_inline_extent_backref()
1092 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in update_inline_extent_backref()
1097 btrfs_print_leaf(leaf); in update_inline_extent_backref()
1104 btrfs_set_extent_refs(leaf, ei, refs); in update_inline_extent_backref()
1106 __run_delayed_extent_op(extent_op, leaf, ei); in update_inline_extent_backref()
1108 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_ANY); in update_inline_extent_backref()
1118 refs = btrfs_extent_data_ref_count(leaf, dref); in update_inline_extent_backref()
1121 refs = btrfs_shared_data_ref_count(leaf, sref); in update_inline_extent_backref()
1135 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in update_inline_extent_backref()
1137 btrfs_print_leaf(leaf); in update_inline_extent_backref()
1149 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in update_inline_extent_backref()
1154 btrfs_print_leaf(leaf); in update_inline_extent_backref()
1165 btrfs_set_extent_data_ref_count(leaf, dref, refs); in update_inline_extent_backref()
1167 btrfs_set_shared_data_ref_count(leaf, sref, refs); in update_inline_extent_backref()
1170 item_size = btrfs_item_size(leaf, path->slots[0]); in update_inline_extent_backref()
1174 memmove_extent_buffer(leaf, ptr, ptr + size, in update_inline_extent_backref()
1179 btrfs_mark_buffer_dirty(leaf); in update_inline_extent_backref()
1481 struct extent_buffer *leaf; in __btrfs_inc_extent_ref() local
1505 leaf = path->nodes[0]; in __btrfs_inc_extent_ref()
1506 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_inc_extent_ref()
1507 item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in __btrfs_inc_extent_ref()
1508 refs = btrfs_extent_refs(leaf, item); in __btrfs_inc_extent_ref()
1509 btrfs_set_extent_refs(leaf, item, refs + refs_to_add); in __btrfs_inc_extent_ref()
1511 __run_delayed_extent_op(extent_op, leaf, item); in __btrfs_inc_extent_ref()
1513 btrfs_mark_buffer_dirty(leaf); in __btrfs_inc_extent_ref()
1578 struct extent_buffer *leaf, in __run_delayed_extent_op() argument
1581 u64 flags = btrfs_extent_flags(leaf, ei); in __run_delayed_extent_op()
1584 btrfs_set_extent_flags(leaf, ei, flags); in __run_delayed_extent_op()
1591 btrfs_set_tree_block_key(leaf, bi, &extent_op->key); in __run_delayed_extent_op()
1604 struct extent_buffer *leaf; in run_delayed_extent_op() local
1666 leaf = path->nodes[0]; in run_delayed_extent_op()
1667 item_size = btrfs_item_size(leaf, path->slots[0]); in run_delayed_extent_op()
1678 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in run_delayed_extent_op()
1679 __run_delayed_extent_op(extent_op, leaf, ei); in run_delayed_extent_op()
1681 btrfs_mark_buffer_dirty(leaf); in run_delayed_extent_op()
2308 struct extent_buffer *leaf; in check_committed_ref() local
2331 leaf = path->nodes[0]; in check_committed_ref()
2332 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in check_committed_ref()
2338 item_size = btrfs_item_size(leaf, path->slots[0]); in check_committed_ref()
2339 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in check_committed_ref()
2351 (btrfs_extent_generation(leaf, ei) <= in check_committed_ref()
2358 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_DATA); in check_committed_ref()
2363 if (btrfs_extent_refs(leaf, ei) != in check_committed_ref()
2364 btrfs_extent_data_ref_count(leaf, ref) || in check_committed_ref()
2365 btrfs_extent_data_ref_root(leaf, ref) != in check_committed_ref()
2367 btrfs_extent_data_ref_objectid(leaf, ref) != objectid || in check_committed_ref()
2368 btrfs_extent_data_ref_offset(leaf, ref) != offset) in check_committed_ref()
2952 struct extent_buffer *leaf; in __btrfs_free_extent() local
3098 leaf = path->nodes[0]; in __btrfs_free_extent()
3099 item_size = btrfs_item_size(leaf, extent_slot); in __btrfs_free_extent()
3108 ei = btrfs_item_ptr(leaf, extent_slot, in __btrfs_free_extent()
3124 WARN_ON(owner_objectid != btrfs_tree_block_level(leaf, bi)); in __btrfs_free_extent()
3127 refs = btrfs_extent_refs(leaf, ei); in __btrfs_free_extent()
3139 __run_delayed_extent_op(extent_op, leaf, ei); in __btrfs_free_extent()
3153 btrfs_set_extent_refs(leaf, ei, refs); in __btrfs_free_extent()
3154 btrfs_mark_buffer_dirty(leaf); in __btrfs_free_extent()
4616 struct extent_buffer *leaf; in alloc_reserved_file_extent() local
4638 leaf = path->nodes[0]; in alloc_reserved_file_extent()
4639 extent_item = btrfs_item_ptr(leaf, path->slots[0], in alloc_reserved_file_extent()
4641 btrfs_set_extent_refs(leaf, extent_item, ref_mod); in alloc_reserved_file_extent()
4642 btrfs_set_extent_generation(leaf, extent_item, trans->transid); in alloc_reserved_file_extent()
4643 btrfs_set_extent_flags(leaf, extent_item, in alloc_reserved_file_extent()
4647 btrfs_set_extent_inline_ref_type(leaf, iref, type); in alloc_reserved_file_extent()
4651 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in alloc_reserved_file_extent()
4652 btrfs_set_shared_data_ref_count(leaf, ref, ref_mod); in alloc_reserved_file_extent()
4656 btrfs_set_extent_data_ref_root(leaf, ref, root_objectid); in alloc_reserved_file_extent()
4657 btrfs_set_extent_data_ref_objectid(leaf, ref, owner); in alloc_reserved_file_extent()
4658 btrfs_set_extent_data_ref_offset(leaf, ref, offset); in alloc_reserved_file_extent()
4659 btrfs_set_extent_data_ref_count(leaf, ref, ref_mod); in alloc_reserved_file_extent()
4680 struct extent_buffer *leaf; in alloc_reserved_tree_block() local
4710 leaf = path->nodes[0]; in alloc_reserved_tree_block()
4711 extent_item = btrfs_item_ptr(leaf, path->slots[0], in alloc_reserved_tree_block()
4713 btrfs_set_extent_refs(leaf, extent_item, 1); in alloc_reserved_tree_block()
4714 btrfs_set_extent_generation(leaf, extent_item, trans->transid); in alloc_reserved_tree_block()
4715 btrfs_set_extent_flags(leaf, extent_item, in alloc_reserved_tree_block()
4722 btrfs_set_tree_block_key(leaf, block_info, &extent_op->key); in alloc_reserved_tree_block()
4723 btrfs_set_tree_block_level(leaf, block_info, ref->level); in alloc_reserved_tree_block()
4728 btrfs_set_extent_inline_ref_type(leaf, iref, in alloc_reserved_tree_block()
4730 btrfs_set_extent_inline_ref_offset(leaf, iref, ref->parent); in alloc_reserved_tree_block()
4732 btrfs_set_extent_inline_ref_type(leaf, iref, in alloc_reserved_tree_block()
4734 btrfs_set_extent_inline_ref_offset(leaf, iref, ref->root); in alloc_reserved_tree_block()
4737 btrfs_mark_buffer_dirty(leaf); in alloc_reserved_tree_block()