Lines Matching refs:leaf

756 	struct extent_buffer *leaf;  in __btrfs_drop_extents()  local
793 leaf = path->nodes[0]; in __btrfs_drop_extents()
794 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in __btrfs_drop_extents()
802 leaf = path->nodes[0]; in __btrfs_drop_extents()
803 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
813 leaf = path->nodes[0]; in __btrfs_drop_extents()
817 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_drop_extents()
830 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
832 extent_type = btrfs_file_extent_type(leaf, fi); in __btrfs_drop_extents()
836 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in __btrfs_drop_extents()
837 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in __btrfs_drop_extents()
838 extent_offset = btrfs_file_extent_offset(leaf, fi); in __btrfs_drop_extents()
840 btrfs_file_extent_num_bytes(leaf, fi); in __btrfs_drop_extents()
843 btrfs_file_extent_ram_bytes(leaf, fi); in __btrfs_drop_extents()
898 leaf = path->nodes[0]; in __btrfs_drop_extents()
899 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in __btrfs_drop_extents()
901 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
904 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
908 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in __btrfs_drop_extents()
909 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
911 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
947 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in __btrfs_drop_extents()
948 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
950 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
968 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
970 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
1017 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
1052 leaf = path->nodes[0]; in __btrfs_drop_extents()
1061 btrfs_leaf_free_space(leaf) >= in __btrfs_drop_extents()
1067 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
1070 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in __btrfs_drop_extents()
1105 static int extent_mergeable(struct extent_buffer *leaf, int slot, in extent_mergeable() argument
1113 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
1116 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
1120 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
1121 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
1122 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
1123 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
1124 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
1125 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
1126 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
1129 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
1150 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
1185 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1186 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
1193 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1195 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_PREALLOC) { in btrfs_mark_extent_written()
1200 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1207 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
1208 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1209 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
1215 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1220 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1222 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1224 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1226 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1228 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1230 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1232 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1234 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1242 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1245 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1247 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1249 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1255 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1257 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1259 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1261 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1263 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1283 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1284 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1286 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1287 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1290 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1293 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1294 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
1295 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1297 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1328 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1346 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1363 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1365 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1367 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1368 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1370 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
1372 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1374 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1375 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1377 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
2248 static int hole_mergeable(struct btrfs_inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2254 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2257 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2262 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2264 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2267 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2272 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2283 struct extent_buffer *leaf; in fill_holes() local
2308 leaf = path->nodes[0]; in fill_holes()
2309 if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) { in fill_holes()
2313 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2315 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2317 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2318 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2319 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2320 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2324 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2329 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2331 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2333 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2334 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2335 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2336 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2460 struct extent_buffer *leaf; in btrfs_insert_clone_extent() local
2481 leaf = path->nodes[0]; in btrfs_insert_clone_extent()
2483 write_extent_buffer(leaf, clone_info->extent_buf, in btrfs_insert_clone_extent()
2484 btrfs_item_ptr_offset(leaf, slot), in btrfs_insert_clone_extent()
2486 extent = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in btrfs_insert_clone_extent()
2487 btrfs_set_file_extent_offset(leaf, extent, clone_info->data_offset); in btrfs_insert_clone_extent()
2488 btrfs_set_file_extent_num_bytes(leaf, extent, clone_len); in btrfs_insert_clone_extent()
2489 btrfs_mark_buffer_dirty(leaf); in btrfs_insert_clone_extent()