Lines Matching refs:leaf
47 struct extent_buffer *leaf,
121 struct extent_buffer *leaf; in btrfs_lookup_extent_info() local
171 leaf = path->nodes[0]; in btrfs_lookup_extent_info()
172 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in btrfs_lookup_extent_info()
174 ei = btrfs_item_ptr(leaf, path->slots[0], in btrfs_lookup_extent_info()
176 num_refs = btrfs_extent_refs(leaf, ei); in btrfs_lookup_extent_info()
177 extent_flags = btrfs_extent_flags(leaf, ei); in btrfs_lookup_extent_info()
419 static u64 hash_extent_data_ref_item(struct extent_buffer *leaf, in hash_extent_data_ref_item() argument
422 return hash_extent_data_ref(btrfs_extent_data_ref_root(leaf, ref), in hash_extent_data_ref_item()
423 btrfs_extent_data_ref_objectid(leaf, ref), in hash_extent_data_ref_item()
424 btrfs_extent_data_ref_offset(leaf, ref)); in hash_extent_data_ref_item()
427 static int match_extent_data_ref(struct extent_buffer *leaf, in match_extent_data_ref() argument
431 if (btrfs_extent_data_ref_root(leaf, ref) != root_objectid || in match_extent_data_ref()
432 btrfs_extent_data_ref_objectid(leaf, ref) != owner || in match_extent_data_ref()
433 btrfs_extent_data_ref_offset(leaf, ref) != offset) in match_extent_data_ref()
447 struct extent_buffer *leaf; in lookup_extent_data_ref() local
476 leaf = path->nodes[0]; in lookup_extent_data_ref()
477 nritems = btrfs_header_nritems(leaf); in lookup_extent_data_ref()
486 leaf = path->nodes[0]; in lookup_extent_data_ref()
487 nritems = btrfs_header_nritems(leaf); in lookup_extent_data_ref()
491 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in lookup_extent_data_ref()
496 ref = btrfs_item_ptr(leaf, path->slots[0], in lookup_extent_data_ref()
499 if (match_extent_data_ref(leaf, ref, root_objectid, in lookup_extent_data_ref()
522 struct extent_buffer *leaf; in insert_extent_data_ref() local
543 leaf = path->nodes[0]; in insert_extent_data_ref()
546 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
549 btrfs_set_shared_data_ref_count(leaf, ref, refs_to_add); in insert_extent_data_ref()
551 num_refs = btrfs_shared_data_ref_count(leaf, ref); in insert_extent_data_ref()
553 btrfs_set_shared_data_ref_count(leaf, ref, num_refs); in insert_extent_data_ref()
558 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
560 if (match_extent_data_ref(leaf, ref, root_objectid, in insert_extent_data_ref()
570 leaf = path->nodes[0]; in insert_extent_data_ref()
572 ref = btrfs_item_ptr(leaf, path->slots[0], in insert_extent_data_ref()
575 btrfs_set_extent_data_ref_root(leaf, ref, in insert_extent_data_ref()
577 btrfs_set_extent_data_ref_objectid(leaf, ref, owner); in insert_extent_data_ref()
578 btrfs_set_extent_data_ref_offset(leaf, ref, offset); in insert_extent_data_ref()
579 btrfs_set_extent_data_ref_count(leaf, ref, refs_to_add); in insert_extent_data_ref()
581 num_refs = btrfs_extent_data_ref_count(leaf, ref); in insert_extent_data_ref()
583 btrfs_set_extent_data_ref_count(leaf, ref, num_refs); in insert_extent_data_ref()
586 btrfs_mark_buffer_dirty(leaf); in insert_extent_data_ref()
600 struct extent_buffer *leaf; in remove_extent_data_ref() local
604 leaf = path->nodes[0]; in remove_extent_data_ref()
605 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in remove_extent_data_ref()
608 ref1 = btrfs_item_ptr(leaf, path->slots[0], in remove_extent_data_ref()
610 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in remove_extent_data_ref()
612 ref2 = btrfs_item_ptr(leaf, path->slots[0], in remove_extent_data_ref()
614 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in remove_extent_data_ref()
631 btrfs_set_extent_data_ref_count(leaf, ref1, num_refs); in remove_extent_data_ref()
633 btrfs_set_shared_data_ref_count(leaf, ref2, num_refs); in remove_extent_data_ref()
634 btrfs_mark_buffer_dirty(leaf); in remove_extent_data_ref()
643 struct extent_buffer *leaf; in extent_data_ref_count() local
649 leaf = path->nodes[0]; in extent_data_ref_count()
650 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in extent_data_ref_count()
658 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_DATA); in extent_data_ref_count()
662 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in extent_data_ref_count()
665 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in extent_data_ref_count()
668 ref1 = btrfs_item_ptr(leaf, path->slots[0], in extent_data_ref_count()
670 num_refs = btrfs_extent_data_ref_count(leaf, ref1); in extent_data_ref_count()
672 ref2 = btrfs_item_ptr(leaf, path->slots[0], in extent_data_ref_count()
674 num_refs = btrfs_shared_data_ref_count(leaf, ref2); in extent_data_ref_count()
790 struct extent_buffer *leaf; in lookup_inline_extent_backref() local
864 leaf = path->nodes[0]; in lookup_inline_extent_backref()
865 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in lookup_inline_extent_backref()
873 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in lookup_inline_extent_backref()
874 flags = btrfs_extent_flags(leaf, ei); in lookup_inline_extent_backref()
896 type = btrfs_get_extent_inline_ref_type(leaf, iref, needed); in lookup_inline_extent_backref()
912 if (match_extent_data_ref(leaf, dref, root_objectid, in lookup_inline_extent_backref()
917 if (hash_extent_data_ref_item(leaf, dref) < in lookup_inline_extent_backref()
922 ref_offset = btrfs_extent_inline_ref_offset(leaf, iref); in lookup_inline_extent_backref()
980 struct extent_buffer *leaf; in setup_inline_extent_backref() local
989 leaf = path->nodes[0]; in setup_inline_extent_backref()
990 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in setup_inline_extent_backref()
998 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in setup_inline_extent_backref()
999 refs = btrfs_extent_refs(leaf, ei); in setup_inline_extent_backref()
1001 btrfs_set_extent_refs(leaf, ei, refs); in setup_inline_extent_backref()
1003 __run_delayed_extent_op(extent_op, leaf, ei); in setup_inline_extent_backref()
1006 end = (unsigned long)ei + btrfs_item_size_nr(leaf, path->slots[0]); in setup_inline_extent_backref()
1008 memmove_extent_buffer(leaf, ptr + size, ptr, in setup_inline_extent_backref()
1012 btrfs_set_extent_inline_ref_type(leaf, iref, type); in setup_inline_extent_backref()
1016 btrfs_set_extent_data_ref_root(leaf, dref, root_objectid); in setup_inline_extent_backref()
1017 btrfs_set_extent_data_ref_objectid(leaf, dref, owner); in setup_inline_extent_backref()
1018 btrfs_set_extent_data_ref_offset(leaf, dref, offset); in setup_inline_extent_backref()
1019 btrfs_set_extent_data_ref_count(leaf, dref, refs_to_add); in setup_inline_extent_backref()
1023 btrfs_set_shared_data_ref_count(leaf, sref, refs_to_add); in setup_inline_extent_backref()
1024 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in setup_inline_extent_backref()
1026 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in setup_inline_extent_backref()
1028 btrfs_set_extent_inline_ref_offset(leaf, iref, root_objectid); in setup_inline_extent_backref()
1030 btrfs_mark_buffer_dirty(leaf); in setup_inline_extent_backref()
1070 struct extent_buffer *leaf = path->nodes[0]; in update_inline_extent_backref() local
1081 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in update_inline_extent_backref()
1082 refs = btrfs_extent_refs(leaf, ei); in update_inline_extent_backref()
1085 btrfs_set_extent_refs(leaf, ei, refs); in update_inline_extent_backref()
1087 __run_delayed_extent_op(extent_op, leaf, ei); in update_inline_extent_backref()
1093 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_ANY); in update_inline_extent_backref()
1098 refs = btrfs_extent_data_ref_count(leaf, dref); in update_inline_extent_backref()
1101 refs = btrfs_shared_data_ref_count(leaf, sref); in update_inline_extent_backref()
1112 btrfs_set_extent_data_ref_count(leaf, dref, refs); in update_inline_extent_backref()
1114 btrfs_set_shared_data_ref_count(leaf, sref, refs); in update_inline_extent_backref()
1118 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in update_inline_extent_backref()
1122 memmove_extent_buffer(leaf, ptr, ptr + size, in update_inline_extent_backref()
1127 btrfs_mark_buffer_dirty(leaf); in update_inline_extent_backref()
1419 struct extent_buffer *leaf; in __btrfs_inc_extent_ref() local
1444 leaf = path->nodes[0]; in __btrfs_inc_extent_ref()
1445 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_inc_extent_ref()
1446 item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in __btrfs_inc_extent_ref()
1447 refs = btrfs_extent_refs(leaf, item); in __btrfs_inc_extent_ref()
1448 btrfs_set_extent_refs(leaf, item, refs + refs_to_add); in __btrfs_inc_extent_ref()
1450 __run_delayed_extent_op(extent_op, leaf, item); in __btrfs_inc_extent_ref()
1452 btrfs_mark_buffer_dirty(leaf); in __btrfs_inc_extent_ref()
1519 struct extent_buffer *leaf, in __run_delayed_extent_op() argument
1522 u64 flags = btrfs_extent_flags(leaf, ei); in __run_delayed_extent_op()
1525 btrfs_set_extent_flags(leaf, ei, flags); in __run_delayed_extent_op()
1532 btrfs_set_tree_block_key(leaf, bi, &extent_op->key); in __run_delayed_extent_op()
1544 struct extent_buffer *leaf; in run_delayed_extent_op() local
1603 leaf = path->nodes[0]; in run_delayed_extent_op()
1604 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in run_delayed_extent_op()
1613 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in run_delayed_extent_op()
1614 __run_delayed_extent_op(extent_op, leaf, ei); in run_delayed_extent_op()
1616 btrfs_mark_buffer_dirty(leaf); in run_delayed_extent_op()
2288 struct extent_buffer *leaf; in check_committed_ref() local
2311 leaf = path->nodes[0]; in check_committed_ref()
2312 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in check_committed_ref()
2318 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in check_committed_ref()
2319 ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item); in check_committed_ref()
2331 (btrfs_extent_generation(leaf, ei) <= in check_committed_ref()
2338 type = btrfs_get_extent_inline_ref_type(leaf, iref, BTRFS_REF_TYPE_DATA); in check_committed_ref()
2343 if (btrfs_extent_refs(leaf, ei) != in check_committed_ref()
2344 btrfs_extent_data_ref_count(leaf, ref) || in check_committed_ref()
2345 btrfs_extent_data_ref_root(leaf, ref) != in check_committed_ref()
2347 btrfs_extent_data_ref_objectid(leaf, ref) != objectid || in check_committed_ref()
2348 btrfs_extent_data_ref_offset(leaf, ref) != offset) in check_committed_ref()
2954 struct extent_buffer *leaf; in __btrfs_free_extent() local
3103 leaf = path->nodes[0]; in __btrfs_free_extent()
3104 item_size = btrfs_item_size_nr(leaf, extent_slot); in __btrfs_free_extent()
3111 ei = btrfs_item_ptr(leaf, extent_slot, in __btrfs_free_extent()
3126 WARN_ON(owner_objectid != btrfs_tree_block_level(leaf, bi)); in __btrfs_free_extent()
3129 refs = btrfs_extent_refs(leaf, ei); in __btrfs_free_extent()
3141 __run_delayed_extent_op(extent_op, leaf, ei); in __btrfs_free_extent()
3154 btrfs_set_extent_refs(leaf, ei, refs); in __btrfs_free_extent()
3155 btrfs_mark_buffer_dirty(leaf); in __btrfs_free_extent()
4350 struct extent_buffer *leaf; in alloc_reserved_file_extent() local
4373 leaf = path->nodes[0]; in alloc_reserved_file_extent()
4374 extent_item = btrfs_item_ptr(leaf, path->slots[0], in alloc_reserved_file_extent()
4376 btrfs_set_extent_refs(leaf, extent_item, ref_mod); in alloc_reserved_file_extent()
4377 btrfs_set_extent_generation(leaf, extent_item, trans->transid); in alloc_reserved_file_extent()
4378 btrfs_set_extent_flags(leaf, extent_item, in alloc_reserved_file_extent()
4382 btrfs_set_extent_inline_ref_type(leaf, iref, type); in alloc_reserved_file_extent()
4386 btrfs_set_extent_inline_ref_offset(leaf, iref, parent); in alloc_reserved_file_extent()
4387 btrfs_set_shared_data_ref_count(leaf, ref, ref_mod); in alloc_reserved_file_extent()
4391 btrfs_set_extent_data_ref_root(leaf, ref, root_objectid); in alloc_reserved_file_extent()
4392 btrfs_set_extent_data_ref_objectid(leaf, ref, owner); in alloc_reserved_file_extent()
4393 btrfs_set_extent_data_ref_offset(leaf, ref, offset); in alloc_reserved_file_extent()
4394 btrfs_set_extent_data_ref_count(leaf, ref, ref_mod); in alloc_reserved_file_extent()
4425 struct extent_buffer *leaf; in alloc_reserved_tree_block() local
4458 leaf = path->nodes[0]; in alloc_reserved_tree_block()
4459 extent_item = btrfs_item_ptr(leaf, path->slots[0], in alloc_reserved_tree_block()
4461 btrfs_set_extent_refs(leaf, extent_item, 1); in alloc_reserved_tree_block()
4462 btrfs_set_extent_generation(leaf, extent_item, trans->transid); in alloc_reserved_tree_block()
4463 btrfs_set_extent_flags(leaf, extent_item, in alloc_reserved_tree_block()
4470 btrfs_set_tree_block_key(leaf, block_info, &extent_op->key); in alloc_reserved_tree_block()
4471 btrfs_set_tree_block_level(leaf, block_info, ref->level); in alloc_reserved_tree_block()
4477 btrfs_set_extent_inline_ref_type(leaf, iref, in alloc_reserved_tree_block()
4479 btrfs_set_extent_inline_ref_offset(leaf, iref, ref->parent); in alloc_reserved_tree_block()
4481 btrfs_set_extent_inline_ref_type(leaf, iref, in alloc_reserved_tree_block()
4483 btrfs_set_extent_inline_ref_offset(leaf, iref, ref->root); in alloc_reserved_tree_block()
4486 btrfs_mark_buffer_dirty(leaf); in alloc_reserved_tree_block()