Lines Matching refs:leaf
47 struct extent_buffer *leaf,
156 struct extent_buffer *leaf; in btrfs_lookup_extent_info() local
206 leaf = path->nodes[0]; in btrfs_lookup_extent_info()
207 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in btrfs_lookup_extent_info()
209 ei = btrfs_item_ptr(leaf, path->slots[0], in btrfs_lookup_extent_info()
211 num_refs = btrfs_extent_refs(leaf, ei); in btrfs_lookup_extent_info()
212 extent_flags = btrfs_extent_flags(leaf, ei); in btrfs_lookup_extent_info()
454 static u64 hash_extent_data_ref_item(struct extent_buffer *leaf, in hash_extent_data_ref_item() argument
457 return hash_extent_data_ref(btrfs_extent_data_ref_root(leaf, ref), in hash_extent_data_ref_item()
458 btrfs_extent_data_ref_objectid(leaf, ref), in hash_extent_data_ref_item()
459 btrfs_extent_data_ref_offset(leaf, ref)); in hash_extent_data_ref_item()
462 static int match_extent_data_ref(struct extent_buffer *leaf, in match_extent_data_ref() argument
466 if (btrfs_extent_data_ref_root(leaf, ref) != root_objectid || in match_extent_data_ref()
467 btrfs_extent_data_ref_objectid(leaf, ref) != owner || in match_extent_data_ref()
468 btrfs_extent_data_ref_offset(leaf, ref) != offset) in match_extent_data_ref()
482 struct extent_buffer *leaf; in lookup_extent_data_ref() local
511 leaf = path->nodes[0]; in lookup_extent_data_ref()
512 nritems = btrfs_header_nritems(leaf); in lookup_extent_data_ref()
521 leaf = path->nodes[0]; in lookup_extent_data_ref()
522 nritems = btrfs_header_nritems(leaf); in lookup_extent_data_ref()
526 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in lookup_extent_data_ref()
531 ref = btrfs_item_ptr(leaf, path->slots[0], in lookup_extent_data_ref()
534 if (match_extent_data_ref(leaf, ref, root_objectid, in lookup_extent_data_ref()
557 struct extent_buffer *leaf; in insert_extent_data_ref() local
578 leaf = path->nodes[0]; in insert_extent_data_ref()
581 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
584 btrfs_set_shared_data_ref_count(leaf, ref, refs_to_add); in insert_extent_data_ref()
586 num_refs = btrfs_shared_data_ref_count(leaf, ref); in insert_extent_data_ref()
588 btrfs_set_shared_data_ref_count(leaf, ref, num_refs); in insert_extent_data_ref()
593 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
595 if (match_extent_data_ref(leaf, ref, root_objectid, in insert_extent_data_ref()
605 leaf = path->nodes[0]; in insert_extent_data_ref()
607 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
610 btrfs_set_extent_data_ref_root(leaf, ref, in insert_extent_data_ref()
612 btrfs_set_extent_data_ref_objectid(leaf, ref, owner); in insert_extent_data_ref()
613 btrfs_set_extent_data_ref_offset(leaf, ref, offset); in insert_extent_data_ref()
614 btrfs_set_extent_data_ref_count(leaf, ref, refs_to_add); in insert_extent_data_ref()
616 num_refs = btrfs_extent_data_ref_count(leaf, ref); in insert_extent_data_ref()
618 btrfs_set_extent_data_ref_count(leaf, ref, num_refs); in insert_extent_data_ref()
621 btrfs_mark_buffer_dirty(leaf); in insert_extent_data_ref()
635 struct extent_buffer *leaf; in remove_extent_data_ref() local
639 leaf = path->nodes[0]; in remove_extent_data_ref()
640 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in remove_extent_data_ref()
643 ref1 = btrfs_item_ptr(leaf, path->slots[0], in remove_extent_data_ref()
645 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in remove_extent_data_ref()
647 ref2 = btrfs_item_ptr(leaf, path->slots[0], in remove_extent_data_ref()
649 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in remove_extent_data_ref()
666 btrfs_set_extent_data_ref_count(leaf, ref1, num_refs); in remove_extent_data_ref()
668 btrfs_set_shared_data_ref_count(leaf, ref2, num_refs); in remove_extent_data_ref()
669 btrfs_mark_buffer_dirty(leaf); in remove_extent_data_ref()
678 struct extent_buffer *leaf; in extent_data_ref_count() local
684 leaf = path->nodes[0]; in extent_data_ref_count()
685 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in extent_data_ref_count()
693 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_DATA); in extent_data_ref_count()
697 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in extent_data_ref_count()
700 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in extent_data_ref_count()
703 ref1 = btrfs_item_ptr(leaf, path->slots[0], in extent_data_ref_count()
705 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in extent_data_ref_count()
707 ref2 = btrfs_item_ptr(leaf, path->slots[0], in extent_data_ref_count()
709 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in extent_data_ref_count()
825 struct extent_buffer *leaf; in lookup_inline_extent_backref() local
899 leaf = path->nodes[0]; in lookup_inline_extent_backref()
900 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in lookup_inline_extent_backref()
908 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in lookup_inline_extent_backref()
909 flags = btrfs_extent_flags(leaf, ei); in lookup_inline_extent_backref()
931 type = btrfs_get_extent_inline_ref_type(leaf, iref, needed); in lookup_inline_extent_backref()
947 if (match_extent_data_ref(leaf, dref, root_objectid, in lookup_inline_extent_backref()
952 if (hash_extent_data_ref_item(leaf, dref) < in lookup_inline_extent_backref()
957 ref_offset = btrfs_extent_inline_ref_offset(leaf, iref); in lookup_inline_extent_backref()
1015 struct extent_buffer *leaf; in setup_inline_extent_backref() local
1024 leaf = path->nodes[0]; in setup_inline_extent_backref()
1025 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in setup_inline_extent_backref()
1033 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in setup_inline_extent_backref()
1034 refs = btrfs_extent_refs(leaf, ei); in setup_inline_extent_backref()
1036 btrfs_set_extent_refs(leaf, ei, refs); in setup_inline_extent_backref()
1038 __run_delayed_extent_op(extent_op, leaf, ei); in setup_inline_extent_backref()
1041 end = (unsigned long)ei + btrfs_item_size_nr(leaf, path->slots[0]); in setup_inline_extent_backref()
1043 memmove_extent_buffer(leaf, ptr + size, ptr, in setup_inline_extent_backref()
1047 btrfs_set_extent_inline_ref_type(leaf, iref, type); in setup_inline_extent_backref()
1051 btrfs_set_extent_data_ref_root(leaf, dref, root_objectid); in setup_inline_extent_backref()
1052 btrfs_set_extent_data_ref_objectid(leaf, dref, owner); in setup_inline_extent_backref()
1053 btrfs_set_extent_data_ref_offset(leaf, dref, offset); in setup_inline_extent_backref()
1054 btrfs_set_extent_data_ref_count(leaf, dref, refs_to_add); in setup_inline_extent_backref()
1058 btrfs_set_shared_data_ref_count(leaf, sref, refs_to_add); in setup_inline_extent_backref()
1059 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in setup_inline_extent_backref()
1061 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in setup_inline_extent_backref()
1063 btrfs_set_extent_inline_ref_offset(leaf, iref, root_objectid); in setup_inline_extent_backref()
1065 btrfs_mark_buffer_dirty(leaf); in setup_inline_extent_backref()
1105 struct extent_buffer *leaf = path->nodes[0]; in update_inline_extent_backref() local
1116 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in update_inline_extent_backref()
1117 refs = btrfs_extent_refs(leaf, ei); in update_inline_extent_backref()
1120 btrfs_set_extent_refs(leaf, ei, refs); in update_inline_extent_backref()
1122 __run_delayed_extent_op(extent_op, leaf, ei); in update_inline_extent_backref()
1128 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_ANY); in update_inline_extent_backref()
1133 refs = btrfs_extent_data_ref_count(leaf, dref); in update_inline_extent_backref()
1136 refs = btrfs_shared_data_ref_count(leaf, sref); in update_inline_extent_backref()
1147 btrfs_set_extent_data_ref_count(leaf, dref, refs); in update_inline_extent_backref()
1149 btrfs_set_shared_data_ref_count(leaf, sref, refs); in update_inline_extent_backref()
1153 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in update_inline_extent_backref()
1157 memmove_extent_buffer(leaf, ptr, ptr + size, in update_inline_extent_backref()
1162 btrfs_mark_buffer_dirty(leaf); in update_inline_extent_backref()
1456 struct extent_buffer *leaf; in __btrfs_inc_extent_ref() local
1481 leaf = path->nodes[0]; in __btrfs_inc_extent_ref()
1482 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_inc_extent_ref()
1483 item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in __btrfs_inc_extent_ref()
1484 refs = btrfs_extent_refs(leaf, item); in __btrfs_inc_extent_ref()
1485 btrfs_set_extent_refs(leaf, item, refs + refs_to_add); in __btrfs_inc_extent_ref()
1487 __run_delayed_extent_op(extent_op, leaf, item); in __btrfs_inc_extent_ref()
1489 btrfs_mark_buffer_dirty(leaf); in __btrfs_inc_extent_ref()
1556 struct extent_buffer *leaf, in __run_delayed_extent_op() argument
1559 u64 flags = btrfs_extent_flags(leaf, ei); in __run_delayed_extent_op()
1562 btrfs_set_extent_flags(leaf, ei, flags); in __run_delayed_extent_op()
1569 btrfs_set_tree_block_key(leaf, bi, &extent_op->key); in __run_delayed_extent_op()
1581 struct extent_buffer *leaf; in run_delayed_extent_op() local
1640 leaf = path->nodes[0]; in run_delayed_extent_op()
1641 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in run_delayed_extent_op()
1650 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in run_delayed_extent_op()
1651 __run_delayed_extent_op(extent_op, leaf, ei); in run_delayed_extent_op()
1653 btrfs_mark_buffer_dirty(leaf); in run_delayed_extent_op()
2331 struct extent_buffer *leaf; in check_committed_ref() local
2354 leaf = path->nodes[0]; in check_committed_ref()
2355 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in check_committed_ref()
2361 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in check_committed_ref()
2362 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in check_committed_ref()
2374 (btrfs_extent_generation(leaf, ei) <= in check_committed_ref()
2381 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_DATA); in check_committed_ref()
2386 if (btrfs_extent_refs(leaf, ei) != in check_committed_ref()
2387 btrfs_extent_data_ref_count(leaf, ref) || in check_committed_ref()
2388 btrfs_extent_data_ref_root(leaf, ref) != in check_committed_ref()
2390 btrfs_extent_data_ref_objectid(leaf, ref) != objectid || in check_committed_ref()
2391 btrfs_extent_data_ref_offset(leaf, ref) != offset) in check_committed_ref()
3024 struct extent_buffer *leaf; in __btrfs_free_extent() local
3173 leaf = path->nodes[0]; in __btrfs_free_extent()
3174 item_size = btrfs_item_size_nr(leaf, extent_slot); in __btrfs_free_extent()
3181 ei = btrfs_item_ptr(leaf, extent_slot, in __btrfs_free_extent()
3196 WARN_ON(owner_objectid != btrfs_tree_block_level(leaf, bi)); in __btrfs_free_extent()
3199 refs = btrfs_extent_refs(leaf, ei); in __btrfs_free_extent()
3211 __run_delayed_extent_op(extent_op, leaf, ei); in __btrfs_free_extent()
3224 btrfs_set_extent_refs(leaf, ei, refs); in __btrfs_free_extent()
3225 btrfs_mark_buffer_dirty(leaf); in __btrfs_free_extent()
4436 struct extent_buffer *leaf; in alloc_reserved_file_extent() local
4459 leaf = path->nodes[0]; in alloc_reserved_file_extent()
4460 extent_item = btrfs_item_ptr(leaf, path->slots[0], in alloc_reserved_file_extent()
4462 btrfs_set_extent_refs(leaf, extent_item, ref_mod); in alloc_reserved_file_extent()
4463 btrfs_set_extent_generation(leaf, extent_item, trans->transid); in alloc_reserved_file_extent()
4464 btrfs_set_extent_flags(leaf, extent_item, in alloc_reserved_file_extent()
4468 btrfs_set_extent_inline_ref_type(leaf, iref, type); in alloc_reserved_file_extent()
4472 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in alloc_reserved_file_extent()
4473 btrfs_set_shared_data_ref_count(leaf, ref, ref_mod); in alloc_reserved_file_extent()
4477 btrfs_set_extent_data_ref_root(leaf, ref, root_objectid); in alloc_reserved_file_extent()
4478 btrfs_set_extent_data_ref_objectid(leaf, ref, owner); in alloc_reserved_file_extent()
4479 btrfs_set_extent_data_ref_offset(leaf, ref, offset); in alloc_reserved_file_extent()
4480 btrfs_set_extent_data_ref_count(leaf, ref, ref_mod); in alloc_reserved_file_extent()
4511 struct extent_buffer *leaf; in alloc_reserved_tree_block() local
4544 leaf = path->nodes[0]; in alloc_reserved_tree_block()
4545 extent_item = btrfs_item_ptr(leaf, path->slots[0], in alloc_reserved_tree_block()
4547 btrfs_set_extent_refs(leaf, extent_item, 1); in alloc_reserved_tree_block()
4548 btrfs_set_extent_generation(leaf, extent_item, trans->transid); in alloc_reserved_tree_block()
4549 btrfs_set_extent_flags(leaf, extent_item, in alloc_reserved_tree_block()
4556 btrfs_set_tree_block_key(leaf, block_info, &extent_op->key); in alloc_reserved_tree_block()
4557 btrfs_set_tree_block_level(leaf, block_info, ref->level); in alloc_reserved_tree_block()
4563 btrfs_set_extent_inline_ref_type(leaf, iref, in alloc_reserved_tree_block()
4565 btrfs_set_extent_inline_ref_offset(leaf, iref, ref->parent); in alloc_reserved_tree_block()
4567 btrfs_set_extent_inline_ref_type(leaf, iref, in alloc_reserved_tree_block()
4569 btrfs_set_extent_inline_ref_offset(leaf, iref, ref->root); in alloc_reserved_tree_block()
4572 btrfs_mark_buffer_dirty(leaf); in alloc_reserved_tree_block()