Lines Matching refs:leaf

143 	struct extent_buffer *leaf;  in btrfs_drop_extents()  local
192 leaf = path->nodes[0]; in btrfs_drop_extents()
193 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in btrfs_drop_extents()
200 leaf = path->nodes[0]; in btrfs_drop_extents()
201 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
203 btrfs_print_leaf(leaf); in btrfs_drop_extents()
214 leaf = path->nodes[0]; in btrfs_drop_extents()
218 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_drop_extents()
231 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
233 extent_type = btrfs_file_extent_type(leaf, fi); in btrfs_drop_extents()
237 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_drop_extents()
238 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_drop_extents()
239 extent_offset = btrfs_file_extent_offset(leaf, fi); in btrfs_drop_extents()
241 btrfs_file_extent_num_bytes(leaf, fi); in btrfs_drop_extents()
244 btrfs_file_extent_ram_bytes(leaf, fi); in btrfs_drop_extents()
283 btrfs_print_leaf(leaf); in btrfs_drop_extents()
303 leaf = path->nodes[0]; in btrfs_drop_extents()
304 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_drop_extents()
306 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
309 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
313 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
314 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
358 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
359 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
373 btrfs_print_leaf(leaf); in btrfs_drop_extents()
382 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
404 btrfs_print_leaf(leaf); in btrfs_drop_extents()
439 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
474 leaf = path->nodes[0]; in btrfs_drop_extents()
482 btrfs_leaf_free_space(leaf) >= in btrfs_drop_extents()
488 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
491 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in btrfs_drop_extents()
510 static bool extent_mergeable(struct extent_buffer *leaf, int slot, u64 objectid, in extent_mergeable() argument
517 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
520 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
524 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
525 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
526 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
527 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
528 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
529 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
530 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
533 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
553 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
588 leaf = path->nodes[0]; in btrfs_mark_extent_written()
589 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
596 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
598 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_PREALLOC) { in btrfs_mark_extent_written()
603 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
610 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
611 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
612 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
618 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
623 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
625 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
627 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
629 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
631 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
633 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
635 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
644 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
647 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
649 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
651 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
657 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
659 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
661 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
663 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
684 leaf = path->nodes[0]; in btrfs_mark_extent_written()
685 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
687 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
688 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
691 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
694 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
695 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
696 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
736 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
754 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
771 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
773 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
775 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
777 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
779 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
781 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
782 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
2056 static bool hole_mergeable(struct btrfs_inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2062 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2065 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2070 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2072 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2075 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2080 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2091 struct extent_buffer *leaf; in fill_holes() local
2115 leaf = path->nodes[0]; in fill_holes()
2116 if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) { in fill_holes()
2120 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2122 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2124 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2125 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2126 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2127 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in fill_holes()
2131 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2136 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2138 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2140 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2141 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2142 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2143 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in fill_holes()
2309 struct extent_buffer *leaf; in btrfs_insert_replace_extent() local
2330 leaf = path->nodes[0]; in btrfs_insert_replace_extent()
2332 write_extent_buffer(leaf, extent_info->extent_buf, in btrfs_insert_replace_extent()
2333 btrfs_item_ptr_offset(leaf, slot), in btrfs_insert_replace_extent()
2335 extent = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in btrfs_insert_replace_extent()
2336 ASSERT(btrfs_file_extent_type(leaf, extent) != BTRFS_FILE_EXTENT_INLINE); in btrfs_insert_replace_extent()
2337 btrfs_set_file_extent_offset(leaf, extent, extent_info->data_offset); in btrfs_insert_replace_extent()
2338 btrfs_set_file_extent_num_bytes(leaf, extent, replace_len); in btrfs_insert_replace_extent()
2340 btrfs_set_file_extent_generation(leaf, extent, trans->transid); in btrfs_insert_replace_extent()
3626 struct extent_buffer *leaf = path->nodes[0]; in find_desired_extent() local
3631 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in find_desired_extent()
3638 leaf = path->nodes[0]; in find_desired_extent()
3641 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in find_desired_extent()
3683 extent = btrfs_item_ptr(leaf, path->slots[0], in find_desired_extent()
3685 type = btrfs_file_extent_type(leaf, extent); in find_desired_extent()
3694 btrfs_file_extent_disk_bytenr(leaf, extent) == 0)) { in find_desired_extent()