Lines Matching full:em

144 	struct extent_map *em = NULL;  in btrfs_create_dio_extent()  local
148 em = btrfs_create_io_em(inode, start, file_extent, type); in btrfs_create_dio_extent()
149 if (IS_ERR(em)) in btrfs_create_dio_extent()
157 if (em) { in btrfs_create_dio_extent()
158 btrfs_free_extent_map(em); in btrfs_create_dio_extent()
162 em = ERR_CAST(ordered); in btrfs_create_dio_extent()
169 return em; in btrfs_create_dio_extent()
179 struct extent_map *em; in btrfs_new_extent_direct() local
203 em = btrfs_create_dio_extent(inode, dio_data, start, &file_extent, in btrfs_new_extent_direct()
206 if (IS_ERR(em)) in btrfs_new_extent_direct()
209 return em; in btrfs_new_extent_direct()
221 struct extent_map *em = *map; in btrfs_get_blocks_direct_write() local
240 if ((em->flags & EXTENT_FLAG_PREALLOC) || in btrfs_get_blocks_direct_write()
242 em->disk_bytenr != EXTENT_MAP_HOLE)) { in btrfs_get_blocks_direct_write()
243 if (em->flags & EXTENT_FLAG_PREALLOC) in btrfs_get_blocks_direct_write()
247 len = min(len, em->len - (start - em->start)); in btrfs_get_blocks_direct_write()
248 block_start = btrfs_extent_map_block_start(em) + (start - em->start); in btrfs_get_blocks_direct_write()
267 btrfs_free_extent_map(em); in btrfs_get_blocks_direct_write()
280 btrfs_free_extent_map(em); in btrfs_get_blocks_direct_write()
282 em = em2; in btrfs_get_blocks_direct_write()
293 btrfs_free_extent_map(em); in btrfs_get_blocks_direct_write()
320 em = btrfs_new_extent_direct(BTRFS_I(inode), dio_data, start, len); in btrfs_get_blocks_direct_write()
321 if (IS_ERR(em)) { in btrfs_get_blocks_direct_write()
322 ret = PTR_ERR(em); in btrfs_get_blocks_direct_write()
325 *map = em; in btrfs_get_blocks_direct_write()
326 len = min(len, em->len - (start - em->start)); in btrfs_get_blocks_direct_write()
359 struct extent_map *em; in btrfs_dio_iomap_begin() local
456 em = btrfs_get_extent(BTRFS_I(inode), NULL, start, len); in btrfs_dio_iomap_begin()
457 if (IS_ERR(em)) { in btrfs_dio_iomap_begin()
458 ret = PTR_ERR(em); in btrfs_dio_iomap_begin()
476 if (btrfs_extent_map_is_compressed(em) || em->disk_bytenr == EXTENT_MAP_INLINE) { in btrfs_dio_iomap_begin()
477 btrfs_free_extent_map(em); in btrfs_dio_iomap_begin()
494 len = min(len, em->len - (start - em->start)); in btrfs_dio_iomap_begin()
518 btrfs_free_extent_map(em); in btrfs_dio_iomap_begin()
524 ret = btrfs_get_blocks_direct_write(&em, inode, dio_data, in btrfs_dio_iomap_begin()
528 /* Recalc len in case the new em is smaller than requested */ in btrfs_dio_iomap_begin()
529 len = min(len, em->len - (start - em->start)); in btrfs_dio_iomap_begin()
555 if ((em->disk_bytenr == EXTENT_MAP_HOLE) || in btrfs_dio_iomap_begin()
556 ((em->flags & EXTENT_FLAG_PREALLOC) && !write)) { in btrfs_dio_iomap_begin()
560 iomap->addr = btrfs_extent_map_block_start(em) + (start - em->start); in btrfs_dio_iomap_begin()
566 btrfs_free_extent_map(em); in btrfs_dio_iomap_begin()