Lines Matching refs:leaf

699 	struct extent_buffer *leaf;  in __btrfs_drop_extents()  local
734 leaf = path->nodes[0]; in __btrfs_drop_extents()
735 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in __btrfs_drop_extents()
743 leaf = path->nodes[0]; in __btrfs_drop_extents()
744 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
754 leaf = path->nodes[0]; in __btrfs_drop_extents()
758 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_drop_extents()
771 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
773 extent_type = btrfs_file_extent_type(leaf, fi); in __btrfs_drop_extents()
777 disk_bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in __btrfs_drop_extents()
778 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in __btrfs_drop_extents()
779 extent_offset = btrfs_file_extent_offset(leaf, fi); in __btrfs_drop_extents()
781 btrfs_file_extent_num_bytes(leaf, fi); in __btrfs_drop_extents()
784 btrfs_file_extent_inline_len(leaf, in __btrfs_drop_extents()
838 leaf = path->nodes[0]; in __btrfs_drop_extents()
839 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in __btrfs_drop_extents()
841 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
844 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
848 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in __btrfs_drop_extents()
849 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
851 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
878 btrfs_set_file_extent_offset(leaf, fi, extent_offset); in __btrfs_drop_extents()
879 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
881 btrfs_mark_buffer_dirty(leaf); in __btrfs_drop_extents()
899 btrfs_set_file_extent_num_bytes(leaf, fi, in __btrfs_drop_extents()
901 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(root, 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()
1033 static int extent_mergeable(struct extent_buffer *leaf, int slot, in extent_mergeable() argument
1041 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in extent_mergeable()
1044 btrfs_item_key_to_cpu(leaf, &key, slot); in extent_mergeable()
1048 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in extent_mergeable()
1049 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG || in extent_mergeable()
1050 btrfs_file_extent_disk_bytenr(leaf, fi) != bytenr || in extent_mergeable()
1051 btrfs_file_extent_offset(leaf, fi) != key.offset - orig_offset || in extent_mergeable()
1052 btrfs_file_extent_compression(leaf, fi) || in extent_mergeable()
1053 btrfs_file_extent_encryption(leaf, fi) || in extent_mergeable()
1054 btrfs_file_extent_other_encoding(leaf, fi)) in extent_mergeable()
1057 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in extent_mergeable()
1077 struct extent_buffer *leaf; in btrfs_mark_extent_written() local
1111 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1112 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
1114 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1116 BUG_ON(btrfs_file_extent_type(leaf, fi) != in btrfs_mark_extent_written()
1118 extent_end = key.offset + btrfs_file_extent_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1121 bytenr = btrfs_file_extent_disk_bytenr(leaf, fi); in btrfs_mark_extent_written()
1122 num_bytes = btrfs_file_extent_disk_num_bytes(leaf, fi); in btrfs_mark_extent_written()
1123 orig_offset = key.offset - btrfs_file_extent_offset(leaf, fi); in btrfs_mark_extent_written()
1129 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1134 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1136 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1138 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1140 btrfs_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1142 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1144 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1146 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1148 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1156 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1159 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1161 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1163 btrfs_set_file_extent_generation(leaf, fi, in btrfs_mark_extent_written()
1169 fi = btrfs_item_ptr(leaf, path->slots[0], 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_set_file_extent_offset(leaf, fi, in btrfs_mark_extent_written()
1177 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1197 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1198 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1200 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1201 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1204 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1207 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1208 btrfs_set_file_extent_offset(leaf, fi, split - orig_offset); in btrfs_mark_extent_written()
1209 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1211 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1230 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1247 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1263 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1265 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1267 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1268 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
1270 fi = btrfs_item_ptr(leaf, del_slot - 1, in btrfs_mark_extent_written()
1272 btrfs_set_file_extent_type(leaf, fi, in btrfs_mark_extent_written()
1274 btrfs_set_file_extent_generation(leaf, fi, trans->transid); in btrfs_mark_extent_written()
1275 btrfs_set_file_extent_num_bytes(leaf, fi, in btrfs_mark_extent_written()
1277 btrfs_mark_buffer_dirty(leaf); in btrfs_mark_extent_written()
2099 static int hole_mergeable(struct inode *inode, struct extent_buffer *leaf, in hole_mergeable() argument
2105 if (slot < 0 || slot >= btrfs_header_nritems(leaf)) in hole_mergeable()
2108 btrfs_item_key_to_cpu(leaf, &key, slot); in hole_mergeable()
2113 fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item); in hole_mergeable()
2115 if (btrfs_file_extent_type(leaf, fi) != BTRFS_FILE_EXTENT_REG) in hole_mergeable()
2118 if (btrfs_file_extent_disk_bytenr(leaf, fi)) in hole_mergeable()
2123 if (key.offset + btrfs_file_extent_num_bytes(leaf, fi) == start) in hole_mergeable()
2132 struct extent_buffer *leaf; in fill_holes() local
2151 leaf = path->nodes[0]; in fill_holes()
2152 if (hole_mergeable(inode, leaf, path->slots[0]-1, offset, end)) { in fill_holes()
2156 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2158 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + in fill_holes()
2160 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2161 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2162 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2163 btrfs_mark_buffer_dirty(leaf); in fill_holes()
2167 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2172 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2174 num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end - in fill_holes()
2176 btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); in fill_holes()
2177 btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); in fill_holes()
2178 btrfs_set_file_extent_offset(leaf, fi, 0); in fill_holes()
2179 btrfs_mark_buffer_dirty(leaf); in fill_holes()