Lines Matching full:split
800 * are split.
807 struct extent_map *split; in btrfs_drop_extent_map_range() local
831 * because we need to split those two extent maps at the boundaries. in btrfs_drop_extent_map_range()
833 split = alloc_extent_map(); in btrfs_drop_extent_map_range()
864 * In case we split the extent map, we want to preserve the in btrfs_drop_extent_map_range()
873 * split it, we can remove it directly. in btrfs_drop_extent_map_range()
881 if (!split) { in btrfs_drop_extent_map_range()
882 split = split2; in btrfs_drop_extent_map_range()
884 if (!split) in btrfs_drop_extent_map_range()
887 split->start = em->start; in btrfs_drop_extent_map_range()
888 split->len = start - em->start; in btrfs_drop_extent_map_range()
891 split->disk_bytenr = em->disk_bytenr; in btrfs_drop_extent_map_range()
892 split->disk_num_bytes = em->disk_num_bytes; in btrfs_drop_extent_map_range()
893 split->offset = em->offset; in btrfs_drop_extent_map_range()
894 split->ram_bytes = em->ram_bytes; in btrfs_drop_extent_map_range()
896 split->disk_bytenr = em->disk_bytenr; in btrfs_drop_extent_map_range()
897 split->disk_num_bytes = 0; in btrfs_drop_extent_map_range()
898 split->offset = 0; in btrfs_drop_extent_map_range()
899 split->ram_bytes = split->len; in btrfs_drop_extent_map_range()
902 split->generation = gen; in btrfs_drop_extent_map_range()
903 split->flags = flags; in btrfs_drop_extent_map_range()
904 replace_extent_mapping(inode, em, split, modified); in btrfs_drop_extent_map_range()
905 free_extent_map(split); in btrfs_drop_extent_map_range()
906 split = split2; in btrfs_drop_extent_map_range()
910 if (!split) { in btrfs_drop_extent_map_range()
911 split = split2; in btrfs_drop_extent_map_range()
913 if (!split) in btrfs_drop_extent_map_range()
916 split->start = end; in btrfs_drop_extent_map_range()
917 split->len = em_end - end; in btrfs_drop_extent_map_range()
918 split->disk_bytenr = em->disk_bytenr; in btrfs_drop_extent_map_range()
919 split->flags = flags; in btrfs_drop_extent_map_range()
920 split->generation = gen; in btrfs_drop_extent_map_range()
923 split->disk_num_bytes = em->disk_num_bytes; in btrfs_drop_extent_map_range()
924 split->offset = em->offset + end - em->start; in btrfs_drop_extent_map_range()
925 split->ram_bytes = em->ram_bytes; in btrfs_drop_extent_map_range()
927 split->disk_num_bytes = 0; in btrfs_drop_extent_map_range()
928 split->offset = 0; in btrfs_drop_extent_map_range()
929 split->ram_bytes = split->len; in btrfs_drop_extent_map_range()
933 replace_extent_mapping(inode, em, split, modified); in btrfs_drop_extent_map_range()
937 ret = add_extent_mapping(inode, split, modified); in btrfs_drop_extent_map_range()
943 free_extent_map(split); in btrfs_drop_extent_map_range()
944 split = NULL; in btrfs_drop_extent_map_range()
957 * maps for split operations, @split and @split2. in btrfs_drop_extent_map_range()
969 ASSERT(!split); in btrfs_drop_extent_map_range()
989 free_extent_map(split); in btrfs_drop_extent_map_range()
1035 * Split off the first pre bytes from the extent_map at [start, start + len],
1038 * This function is used when an ordered_extent needs to be split.