Lines Matching refs:leaf

521 	struct extent_buffer *leaf;  in btrfs_drop_extents()  local
571 leaf = path->nodes[0]; in btrfs_drop_extents()
572 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in btrfs_drop_extents()
579 leaf = path->nodes[0]; in btrfs_drop_extents()
580 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
589 leaf = path->nodes[0]; in btrfs_drop_extents()
593 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_drop_extents()
606 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
608 extent_type = btrfs_file_extent_type(leaf, fi); in btrfs_drop_extents()
612 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_drop_extents()
613 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_drop_extents()
614 extent_offset = btrfs_file_extent_offset(leaf, fi); in btrfs_drop_extents()
616 btrfs_file_extent_num_bytes(leaf, fi); in btrfs_drop_extents()
619 btrfs_file_extent_ram_bytes(leaf, fi); in btrfs_drop_extents()
674 leaf = path->nodes[0]; in btrfs_drop_extents()
675 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_drop_extents()
677 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
680 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
684 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
685 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
687 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
724 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
725 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
727 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
745 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
747 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
793 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
828 leaf = path->nodes[0]; in btrfs_drop_extents()
836 btrfs_leaf_free_space(leaf) >= in btrfs_drop_extents()
842 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
845 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in btrfs_drop_extents()
863 static int extent_mergeable(struct extent_buffer *leaf, int slot, in extent_mergeable() argument
871 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
874 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
878 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
879 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
880 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
881 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
882 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
883 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
884 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
887 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
908 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
943 leaf = path->nodes[0]; in btrfs_mark_extent_written()
944 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
951 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
953 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_PREALLOC) { in btrfs_mark_extent_written()
958 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
965 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
966 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
967 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
973 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
978 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
980 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
982 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
984 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
986 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
988 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
990 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
992 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1000 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1003 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1005 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1007 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1013 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1015 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1017 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1019 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1021 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1041 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1042 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1044 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1045 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1048 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1051 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1052 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
1053 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1055 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1087 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1105 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1122 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1124 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1126 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1127 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1129 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
1131 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1133 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1134 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1136 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
2339 static int hole_mergeable(struct btrfs_inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2345 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2348 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2353 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2355 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2358 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2363 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2374 struct extent_buffer *leaf; in fill_holes() local
2398 leaf = path->nodes[0]; in fill_holes()
2399 if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) { in fill_holes()
2403 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2405 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2407 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2408 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2409 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2410 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in fill_holes()
2411 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2415 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2420 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2422 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2424 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2425 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2426 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2427 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in fill_holes()
2428 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2547 struct extent_buffer *leaf; in btrfs_insert_replace_extent() local
2569 leaf = path->nodes[0]; in btrfs_insert_replace_extent()
2571 write_extent_buffer(leaf, extent_info->extent_buf, in btrfs_insert_replace_extent()
2572 btrfs_item_ptr_offset(leaf, slot), in btrfs_insert_replace_extent()
2574 extent = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in btrfs_insert_replace_extent()
2575 ASSERT(btrfs_file_extent_type(leaf, extent) != BTRFS_FILE_EXTENT_INLINE); in btrfs_insert_replace_extent()
2576 btrfs_set_file_extent_offset(leaf, extent, extent_info->data_offset); in btrfs_insert_replace_extent()
2577 btrfs_set_file_extent_num_bytes(leaf, extent, replace_len); in btrfs_insert_replace_extent()
2579 btrfs_set_file_extent_generation(leaf, extent, trans->transid); in btrfs_insert_replace_extent()
2580 btrfs_mark_buffer_dirty(leaf); in btrfs_insert_replace_extent()
3832 struct extent_buffer *leaf = path->nodes[0]; in find_desired_extent() local
3836 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in find_desired_extent()
3843 leaf = path->nodes[0]; in find_desired_extent()
3846 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in find_desired_extent()
3887 extent = btrfs_item_ptr(leaf, path->slots[0], in find_desired_extent()
3890 if (btrfs_file_extent_disk_bytenr(leaf, extent) == 0 || in find_desired_extent()
3891 btrfs_file_extent_type(leaf, extent) == in find_desired_extent()