Lines Matching refs:em

888 	struct extent_map *em = NULL;  in check_defrag_in_cache()  local
893 em = lookup_extent_mapping(em_tree, offset, PAGE_CACHE_SIZE); in check_defrag_in_cache()
896 if (em) { in check_defrag_in_cache()
897 end = extent_map_end(em); in check_defrag_in_cache()
898 free_extent_map(em); in check_defrag_in_cache()
982 struct extent_map *em; in defrag_lookup_extent() local
990 em = lookup_extent_mapping(em_tree, start, len); in defrag_lookup_extent()
993 if (!em) { in defrag_lookup_extent()
999 em = btrfs_get_extent(inode, NULL, 0, start, len, 0); in defrag_lookup_extent()
1002 if (IS_ERR(em)) in defrag_lookup_extent()
1006 return em; in defrag_lookup_extent()
1009 static bool defrag_check_next_extent(struct inode *inode, struct extent_map *em) in defrag_check_next_extent() argument
1015 if (em->start + em->len >= i_size_read(inode)) in defrag_check_next_extent()
1018 next = defrag_lookup_extent(inode, em->start + em->len); in defrag_check_next_extent()
1021 else if ((em->block_start + em->block_len == next->block_start) && in defrag_check_next_extent()
1022 (em->block_len > 128 * 1024 && next->block_len > 128 * 1024)) in defrag_check_next_extent()
1033 struct extent_map *em; in should_defrag_range() local
1046 em = defrag_lookup_extent(inode, start); in should_defrag_range()
1047 if (!em) in should_defrag_range()
1051 if (em->block_start >= EXTENT_MAP_LAST_BYTE) { in should_defrag_range()
1056 next_mergeable = defrag_check_next_extent(inode, em); in should_defrag_range()
1062 (em->len >= thresh || !next_mergeable)) in should_defrag_range()
1074 *defrag_end = extent_map_end(em); in should_defrag_range()
1077 *skip = extent_map_end(em); in should_defrag_range()
1081 free_extent_map(em); in should_defrag_range()
3123 struct extent_map *em; in clone_update_extent_map() local
3126 em = alloc_extent_map(); in clone_update_extent_map()
3127 if (!em) { in clone_update_extent_map()
3138 btrfs_extent_item_to_extent_map(inode, path, fi, false, em); in clone_update_extent_map()
3139 em->generation = -1; in clone_update_extent_map()
3145 em->start = hole_offset; in clone_update_extent_map()
3146 em->len = hole_len; in clone_update_extent_map()
3147 em->ram_bytes = em->len; in clone_update_extent_map()
3148 em->orig_start = hole_offset; in clone_update_extent_map()
3149 em->block_start = EXTENT_MAP_HOLE; in clone_update_extent_map()
3150 em->block_len = 0; in clone_update_extent_map()
3151 em->orig_block_len = 0; in clone_update_extent_map()
3152 em->compress_type = BTRFS_COMPRESS_NONE; in clone_update_extent_map()
3153 em->generation = trans->transid; in clone_update_extent_map()
3158 ret = add_extent_mapping(em_tree, em, 1); in clone_update_extent_map()
3161 free_extent_map(em); in clone_update_extent_map()
3164 btrfs_drop_extent_cache(inode, em->start, in clone_update_extent_map()
3165 em->start + em->len - 1, 0); in clone_update_extent_map()