Lines Matching full:split

673  * are split.
680 struct extent_map *split; in btrfs_drop_extent_map_range() local
704 * because we need to split those two extent maps at the boundaries. in btrfs_drop_extent_map_range()
706 split = alloc_extent_map(); in btrfs_drop_extent_map_range()
738 * In case we split the extent map, we want to preserve the in btrfs_drop_extent_map_range()
747 * split it, we can remove it directly. in btrfs_drop_extent_map_range()
756 if (!split) { in btrfs_drop_extent_map_range()
757 split = split2; in btrfs_drop_extent_map_range()
759 if (!split) in btrfs_drop_extent_map_range()
762 split->start = em->start; in btrfs_drop_extent_map_range()
763 split->len = start - em->start; in btrfs_drop_extent_map_range()
766 split->orig_start = em->orig_start; in btrfs_drop_extent_map_range()
767 split->block_start = em->block_start; in btrfs_drop_extent_map_range()
770 split->block_len = em->block_len; in btrfs_drop_extent_map_range()
772 split->block_len = split->len; in btrfs_drop_extent_map_range()
773 split->orig_block_len = max(split->block_len, in btrfs_drop_extent_map_range()
775 split->ram_bytes = em->ram_bytes; in btrfs_drop_extent_map_range()
777 split->orig_start = split->start; in btrfs_drop_extent_map_range()
778 split->block_len = 0; in btrfs_drop_extent_map_range()
779 split->block_start = em->block_start; in btrfs_drop_extent_map_range()
780 split->orig_block_len = 0; in btrfs_drop_extent_map_range()
781 split->ram_bytes = split->len; in btrfs_drop_extent_map_range()
784 split->generation = gen; in btrfs_drop_extent_map_range()
785 split->flags = flags; in btrfs_drop_extent_map_range()
786 replace_extent_mapping(em_tree, em, split, modified); in btrfs_drop_extent_map_range()
787 free_extent_map(split); in btrfs_drop_extent_map_range()
788 split = split2; in btrfs_drop_extent_map_range()
792 if (!split) { in btrfs_drop_extent_map_range()
793 split = split2; in btrfs_drop_extent_map_range()
795 if (!split) in btrfs_drop_extent_map_range()
798 split->start = end; in btrfs_drop_extent_map_range()
799 split->len = em_end - end; in btrfs_drop_extent_map_range()
800 split->block_start = em->block_start; in btrfs_drop_extent_map_range()
801 split->flags = flags; in btrfs_drop_extent_map_range()
802 split->generation = gen; in btrfs_drop_extent_map_range()
805 split->orig_block_len = max(em->block_len, in btrfs_drop_extent_map_range()
808 split->ram_bytes = em->ram_bytes; in btrfs_drop_extent_map_range()
810 split->block_len = em->block_len; in btrfs_drop_extent_map_range()
811 split->orig_start = em->orig_start; in btrfs_drop_extent_map_range()
815 split->block_len = split->len; in btrfs_drop_extent_map_range()
816 split->block_start += diff; in btrfs_drop_extent_map_range()
817 split->orig_start = em->orig_start; in btrfs_drop_extent_map_range()
820 split->ram_bytes = split->len; in btrfs_drop_extent_map_range()
821 split->orig_start = split->start; in btrfs_drop_extent_map_range()
822 split->block_len = 0; in btrfs_drop_extent_map_range()
823 split->orig_block_len = 0; in btrfs_drop_extent_map_range()
827 replace_extent_mapping(em_tree, em, split, in btrfs_drop_extent_map_range()
832 ret = add_extent_mapping(em_tree, split, in btrfs_drop_extent_map_range()
839 free_extent_map(split); in btrfs_drop_extent_map_range()
840 split = NULL; in btrfs_drop_extent_map_range()
853 * maps for split operations, @split and @split2. in btrfs_drop_extent_map_range()
865 ASSERT(!split); in btrfs_drop_extent_map_range()
885 free_extent_map(split); in btrfs_drop_extent_map_range()
931 * Split off the first pre bytes from the extent_map at [start, start + len],
934 * This function is used when an ordered_extent needs to be split.