Lines Matching refs:leaf
694 struct extent_buffer *leaf; in btrfs_drop_extents() local
745 leaf = path->nodes[0]; in btrfs_drop_extents()
746 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in btrfs_drop_extents()
754 leaf = path->nodes[0]; in btrfs_drop_extents()
755 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
765 leaf = path->nodes[0]; in btrfs_drop_extents()
769 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_drop_extents()
782 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
784 extent_type = btrfs_file_extent_type(leaf, fi); in btrfs_drop_extents()
788 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_drop_extents()
789 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_drop_extents()
790 extent_offset = btrfs_file_extent_offset(leaf, fi); in btrfs_drop_extents()
792 btrfs_file_extent_num_bytes(leaf, fi); in btrfs_drop_extents()
795 btrfs_file_extent_ram_bytes(leaf, fi); in btrfs_drop_extents()
850 leaf = path->nodes[0]; in btrfs_drop_extents()
851 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_drop_extents()
853 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
856 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
860 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
861 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
863 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
899 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
900 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
902 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
920 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
922 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
967 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
1002 leaf = path->nodes[0]; in btrfs_drop_extents()
1010 btrfs_leaf_free_space(leaf) >= in btrfs_drop_extents()
1016 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
1019 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in btrfs_drop_extents()
1038 static int extent_mergeable(struct extent_buffer *leaf, int slot, in extent_mergeable() argument
1046 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
1049 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
1053 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
1054 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
1055 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
1056 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
1057 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
1058 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
1059 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
1062 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
1083 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
1118 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1119 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
1126 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1128 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_PREALLOC) { in btrfs_mark_extent_written()
1133 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1140 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
1141 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1142 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
1148 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1153 fi = btrfs_item_ptr(leaf, path->slots[0], 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_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1161 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1163 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1165 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1167 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1175 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1178 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1180 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1182 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1188 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1190 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1192 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1194 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1196 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1216 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1217 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1219 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1220 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1223 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1226 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1227 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
1228 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1230 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1261 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1279 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1296 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1298 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1300 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1301 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1303 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
1305 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1307 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1308 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1310 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
2333 static int hole_mergeable(struct btrfs_inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2339 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2342 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2347 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2349 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2352 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2357 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2368 struct extent_buffer *leaf; in fill_holes() local
2393 leaf = path->nodes[0]; in fill_holes()
2394 if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) { in fill_holes()
2398 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2400 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2402 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2403 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2404 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2405 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2409 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2414 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2416 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2418 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2419 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2420 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2421 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2557 struct extent_buffer *leaf; in btrfs_insert_replace_extent() local
2579 leaf = path->nodes[0]; in btrfs_insert_replace_extent()
2581 write_extent_buffer(leaf, extent_info->extent_buf, in btrfs_insert_replace_extent()
2582 btrfs_item_ptr_offset(leaf, slot), in btrfs_insert_replace_extent()
2584 extent = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in btrfs_insert_replace_extent()
2585 ASSERT(btrfs_file_extent_type(leaf, extent) != BTRFS_FILE_EXTENT_INLINE); in btrfs_insert_replace_extent()
2586 btrfs_set_file_extent_offset(leaf, extent, extent_info->data_offset); in btrfs_insert_replace_extent()
2587 btrfs_set_file_extent_num_bytes(leaf, extent, replace_len); in btrfs_insert_replace_extent()
2589 btrfs_set_file_extent_generation(leaf, extent, trans->transid); in btrfs_insert_replace_extent()
2590 btrfs_mark_buffer_dirty(leaf); in btrfs_insert_replace_extent()