Lines Matching refs:leaf

701 	struct extent_buffer *leaf;  in btrfs_drop_extents()  local
752 leaf = path->nodes[0]; in btrfs_drop_extents()
753 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in btrfs_drop_extents()
761 leaf = path->nodes[0]; in btrfs_drop_extents()
762 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
772 leaf = path->nodes[0]; in btrfs_drop_extents()
776 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_drop_extents()
789 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
791 extent_type = btrfs_file_extent_type(leaf, fi); in btrfs_drop_extents()
795 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_drop_extents()
796 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_drop_extents()
797 extent_offset = btrfs_file_extent_offset(leaf, fi); in btrfs_drop_extents()
799 btrfs_file_extent_num_bytes(leaf, fi); in btrfs_drop_extents()
802 btrfs_file_extent_ram_bytes(leaf, fi); in btrfs_drop_extents()
857 leaf = path->nodes[0]; in btrfs_drop_extents()
858 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_drop_extents()
860 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
863 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_drop_extents()
867 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
868 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
870 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
907 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in btrfs_drop_extents()
908 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
910 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
928 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_drop_extents()
930 btrfs_mark_buffer_dirty(leaf); in btrfs_drop_extents()
976 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
1011 leaf = path->nodes[0]; in btrfs_drop_extents()
1019 btrfs_leaf_free_space(leaf) >= in btrfs_drop_extents()
1025 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in btrfs_drop_extents()
1028 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in btrfs_drop_extents()
1046 static int extent_mergeable(struct extent_buffer *leaf, int slot, in extent_mergeable() argument
1054 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
1057 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
1061 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
1062 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
1063 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
1064 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
1065 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
1066 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
1067 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
1070 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
1091 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
1126 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1127 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
1134 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1136 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_PREALLOC) { in btrfs_mark_extent_written()
1141 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1148 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
1149 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1150 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
1156 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1161 fi = btrfs_item_ptr(leaf, path->slots[0], 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_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1169 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1171 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1173 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1175 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1183 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1186 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1188 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1190 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1196 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1198 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1200 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1202 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1204 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1224 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1225 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1227 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1228 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1231 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1234 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1235 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
1236 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1238 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1270 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1288 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1305 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1307 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1309 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1310 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1312 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
1314 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1316 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1317 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1319 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
2400 static int hole_mergeable(struct btrfs_inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2406 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2409 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2414 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2416 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2419 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2424 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2435 struct extent_buffer *leaf; in fill_holes() local
2460 leaf = path->nodes[0]; in fill_holes()
2461 if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) { in fill_holes()
2465 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2467 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2469 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2470 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2471 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2472 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2476 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2481 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2483 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2485 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2486 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2487 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2488 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2624 struct extent_buffer *leaf; in btrfs_insert_replace_extent() local
2646 leaf = path->nodes[0]; in btrfs_insert_replace_extent()
2648 write_extent_buffer(leaf, extent_info->extent_buf, in btrfs_insert_replace_extent()
2649 btrfs_item_ptr_offset(leaf, slot), in btrfs_insert_replace_extent()
2651 extent = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in btrfs_insert_replace_extent()
2652 ASSERT(btrfs_file_extent_type(leaf, extent) != BTRFS_FILE_EXTENT_INLINE); in btrfs_insert_replace_extent()
2653 btrfs_set_file_extent_offset(leaf, extent, extent_info->data_offset); in btrfs_insert_replace_extent()
2654 btrfs_set_file_extent_num_bytes(leaf, extent, replace_len); in btrfs_insert_replace_extent()
2656 btrfs_set_file_extent_generation(leaf, extent, trans->transid); in btrfs_insert_replace_extent()
2657 btrfs_mark_buffer_dirty(leaf); in btrfs_insert_replace_extent()