Lines Matching refs:leaf

205 	struct extent_buffer *leaf;  in btrfs_drop_extents()  local
255 leaf = path->nodes[0]; in btrfs_drop_extents()
256 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in btrfs_drop_extents()
263 leaf = path->nodes[0]; in btrfs_drop_extents()
264 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
273 leaf = path->nodes[0]; in btrfs_drop_extents()
277 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_drop_extents()
290 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
292 extent_type = btrfs_file_extent_type(leaf, fi); in btrfs_drop_extents()
296 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_drop_extents()
297 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_drop_extents()
298 extent_offset = btrfs_file_extent_offset(leaf, fi); in btrfs_drop_extents()
300 btrfs_file_extent_num_bytes(leaf, fi); in btrfs_drop_extents()
303 btrfs_file_extent_ram_bytes(leaf, fi); in btrfs_drop_extents()
358 leaf = path->nodes[0]; in btrfs_drop_extents()
359 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_drop_extents()
361 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
364 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
368 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
369 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
371 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
411 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
412 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
414 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
432 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
434 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
483 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
518 leaf = path->nodes[0]; in btrfs_drop_extents()
526 btrfs_leaf_free_space(leaf) >= in btrfs_drop_extents()
532 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
535 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in btrfs_drop_extents()
553 static int extent_mergeable(struct extent_buffer *leaf, int slot, in extent_mergeable() argument
561 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
564 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
568 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
569 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
570 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
571 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
572 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
573 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
574 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
577 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
598 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
633 leaf = path->nodes[0]; in btrfs_mark_extent_written()
634 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
641 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
643 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_PREALLOC) { in btrfs_mark_extent_written()
648 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
655 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
656 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
657 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
663 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
668 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
670 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
672 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
674 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
676 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
678 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
680 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
682 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
690 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
693 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
695 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
697 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
703 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
705 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
707 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
709 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
711 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
731 leaf = path->nodes[0]; in btrfs_mark_extent_written()
732 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
734 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
735 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
738 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
741 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
742 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
743 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
745 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
777 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
795 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
812 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
814 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
816 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
817 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
819 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
821 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
823 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
824 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
826 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
2035 static int hole_mergeable(struct btrfs_inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2041 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2044 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2049 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2051 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2054 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2059 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2070 struct extent_buffer *leaf; in fill_holes() local
2094 leaf = path->nodes[0]; in fill_holes()
2095 if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) { in fill_holes()
2099 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2101 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2103 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2104 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2105 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2106 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in fill_holes()
2107 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2111 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2116 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2118 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2120 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2121 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2122 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2123 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in fill_holes()
2124 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2243 struct extent_buffer *leaf; in btrfs_insert_replace_extent() local
2265 leaf = path->nodes[0]; in btrfs_insert_replace_extent()
2267 write_extent_buffer(leaf, extent_info->extent_buf, in btrfs_insert_replace_extent()
2268 btrfs_item_ptr_offset(leaf, slot), in btrfs_insert_replace_extent()
2270 extent = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in btrfs_insert_replace_extent()
2271 ASSERT(btrfs_file_extent_type(leaf, extent) != BTRFS_FILE_EXTENT_INLINE); in btrfs_insert_replace_extent()
2272 btrfs_set_file_extent_offset(leaf, extent, extent_info->data_offset); in btrfs_insert_replace_extent()
2273 btrfs_set_file_extent_num_bytes(leaf, extent, replace_len); in btrfs_insert_replace_extent()
2275 btrfs_set_file_extent_generation(leaf, extent, trans->transid); in btrfs_insert_replace_extent()
2276 btrfs_mark_buffer_dirty(leaf); in btrfs_insert_replace_extent()
3541 struct extent_buffer *leaf = path->nodes[0]; in find_desired_extent() local
3546 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in find_desired_extent()
3553 leaf = path->nodes[0]; in find_desired_extent()
3556 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in find_desired_extent()
3598 extent = btrfs_item_ptr(leaf, path->slots[0], in find_desired_extent()
3600 type = btrfs_file_extent_type(leaf, extent); in find_desired_extent()
3609 btrfs_file_extent_disk_bytenr(leaf, extent) == 0)) { in find_desired_extent()