Lines Matching refs:leaf

684 	struct extent_buffer *leaf;  in __btrfs_drop_extents()  local
722 leaf = path->nodes[0]; in __btrfs_drop_extents()
723 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in __btrfs_drop_extents()
731 leaf = path->nodes[0]; in __btrfs_drop_extents()
732 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
742 leaf = path->nodes[0]; in __btrfs_drop_extents()
746 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_drop_extents()
759 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
761 extent_type = btrfs_file_extent_type(leaf, fi); in __btrfs_drop_extents()
765 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in __btrfs_drop_extents()
766 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in __btrfs_drop_extents()
767 extent_offset = btrfs_file_extent_offset(leaf, fi); in __btrfs_drop_extents()
769 btrfs_file_extent_num_bytes(leaf, fi); in __btrfs_drop_extents()
772 btrfs_file_extent_ram_bytes(leaf, fi); in __btrfs_drop_extents()
827 leaf = path->nodes[0]; in __btrfs_drop_extents()
828 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in __btrfs_drop_extents()
830 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
833 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
837 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in __btrfs_drop_extents()
838 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
840 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
876 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in __btrfs_drop_extents()
877 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
879 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
897 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
899 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
946 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
981 leaf = path->nodes[0]; in __btrfs_drop_extents()
990 btrfs_leaf_free_space(leaf) >= in __btrfs_drop_extents()
996 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
999 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in __btrfs_drop_extents()
1030 static int extent_mergeable(struct extent_buffer *leaf, int slot, in extent_mergeable() argument
1038 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
1041 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
1045 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
1046 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
1047 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
1048 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
1049 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
1050 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
1051 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
1054 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
1075 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
1110 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1111 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
1118 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1120 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_PREALLOC) { in btrfs_mark_extent_written()
1125 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1132 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
1133 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1134 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
1140 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1145 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1147 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1149 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1151 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1153 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1155 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1157 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1159 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1167 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1170 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1172 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1174 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1180 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1182 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1184 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1186 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1188 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1208 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1209 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1211 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1212 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1215 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1218 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1219 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
1220 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1222 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1253 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1271 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1288 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1290 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1292 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1293 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1295 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
1297 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1299 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1300 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1302 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
2308 static int hole_mergeable(struct btrfs_inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2314 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2317 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2322 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2324 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2327 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2332 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2343 struct extent_buffer *leaf; in fill_holes() local
2368 leaf = path->nodes[0]; in fill_holes()
2369 if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) { in fill_holes()
2373 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2375 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2377 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2378 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2379 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2380 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2384 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2389 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2391 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2393 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2394 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2395 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2396 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2520 struct extent_buffer *leaf; in btrfs_insert_replace_extent() local
2540 leaf = path->nodes[0]; in btrfs_insert_replace_extent()
2542 write_extent_buffer(leaf, extent_info->extent_buf, in btrfs_insert_replace_extent()
2543 btrfs_item_ptr_offset(leaf, slot), in btrfs_insert_replace_extent()
2545 extent = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in btrfs_insert_replace_extent()
2546 ASSERT(btrfs_file_extent_type(leaf, extent) != BTRFS_FILE_EXTENT_INLINE); in btrfs_insert_replace_extent()
2547 btrfs_set_file_extent_offset(leaf, extent, extent_info->data_offset); in btrfs_insert_replace_extent()
2548 btrfs_set_file_extent_num_bytes(leaf, extent, replace_len); in btrfs_insert_replace_extent()
2550 btrfs_set_file_extent_generation(leaf, extent, trans->transid); in btrfs_insert_replace_extent()
2551 btrfs_mark_buffer_dirty(leaf); in btrfs_insert_replace_extent()