Lines Matching refs:leaf
684 struct extent_buffer *leaf; in __btrfs_drop_extents() local
721 leaf = path->nodes[0]; in __btrfs_drop_extents()
722 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in __btrfs_drop_extents()
730 leaf = path->nodes[0]; in __btrfs_drop_extents()
731 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
741 leaf = path->nodes[0]; in __btrfs_drop_extents()
745 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_drop_extents()
758 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
760 extent_type = btrfs_file_extent_type(leaf, fi); in __btrfs_drop_extents()
764 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in __btrfs_drop_extents()
765 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in __btrfs_drop_extents()
766 extent_offset = btrfs_file_extent_offset(leaf, fi); in __btrfs_drop_extents()
768 btrfs_file_extent_num_bytes(leaf, fi); in __btrfs_drop_extents()
771 btrfs_file_extent_ram_bytes(leaf, fi); in __btrfs_drop_extents()
826 leaf = path->nodes[0]; in __btrfs_drop_extents()
827 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in __btrfs_drop_extents()
829 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
832 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
836 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in __btrfs_drop_extents()
837 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
839 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
875 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in __btrfs_drop_extents()
876 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
878 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
896 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
898 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
945 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
980 leaf = path->nodes[0]; in __btrfs_drop_extents()
989 btrfs_leaf_free_space(leaf) >= in __btrfs_drop_extents()
995 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
998 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in __btrfs_drop_extents()
1029 static int extent_mergeable(struct extent_buffer *leaf, int slot, in extent_mergeable() argument
1037 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
1040 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
1044 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
1045 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
1046 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
1047 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
1048 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
1049 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
1050 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
1053 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
1074 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
1109 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1110 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
1117 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1119 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_PREALLOC) { in btrfs_mark_extent_written()
1124 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1131 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
1132 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1133 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
1139 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1144 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1146 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1148 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1150 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1152 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1154 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1156 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1158 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1166 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1169 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1171 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1173 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1179 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1181 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1183 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1185 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1187 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1207 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1208 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1210 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1211 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1214 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1217 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1218 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
1219 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1221 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1252 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1270 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1287 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1289 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1291 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1292 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1294 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
1296 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1298 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1299 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1301 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
2314 static int hole_mergeable(struct btrfs_inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2320 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2323 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2328 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2330 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2333 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2338 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2349 struct extent_buffer *leaf; in fill_holes() local
2374 leaf = path->nodes[0]; in fill_holes()
2375 if (hole_mergeable(inode, leaf, path->slots[0] - 1, offset, end)) { in fill_holes()
2379 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2381 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2383 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2384 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2385 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2386 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2390 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2395 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2397 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2399 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2400 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2401 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2402 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2526 struct extent_buffer *leaf; in btrfs_insert_replace_extent() local
2546 leaf = path->nodes[0]; in btrfs_insert_replace_extent()
2548 write_extent_buffer(leaf, extent_info->extent_buf, in btrfs_insert_replace_extent()
2549 btrfs_item_ptr_offset(leaf, slot), in btrfs_insert_replace_extent()
2551 extent = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in btrfs_insert_replace_extent()
2552 ASSERT(btrfs_file_extent_type(leaf, extent) != BTRFS_FILE_EXTENT_INLINE); in btrfs_insert_replace_extent()
2553 btrfs_set_file_extent_offset(leaf, extent, extent_info->data_offset); in btrfs_insert_replace_extent()
2554 btrfs_set_file_extent_num_bytes(leaf, extent, replace_len); in btrfs_insert_replace_extent()
2556 btrfs_set_file_extent_generation(leaf, extent, trans->transid); in btrfs_insert_replace_extent()
2557 btrfs_mark_buffer_dirty(leaf); in btrfs_insert_replace_extent()