Lines Matching refs: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 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()
210 return em; in btrfs_new_extent_direct()
222 struct extent_map *em = *map; in btrfs_get_blocks_direct_write() local
241 if ((em->flags & EXTENT_FLAG_PREALLOC) || in btrfs_get_blocks_direct_write()
243 em->disk_bytenr != EXTENT_MAP_HOLE)) { in btrfs_get_blocks_direct_write()
244 if (em->flags & EXTENT_FLAG_PREALLOC) in btrfs_get_blocks_direct_write()
248 len = min(len, em->len - (start - em->start)); in btrfs_get_blocks_direct_write()
249 block_start = extent_map_block_start(em) + (start - em->start); in btrfs_get_blocks_direct_write()
267 free_extent_map(em); in btrfs_get_blocks_direct_write()
280 free_extent_map(em); in btrfs_get_blocks_direct_write()
282 em = em2; in btrfs_get_blocks_direct_write()
293 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 (extent_map_is_compressed(em) || em->disk_bytenr == EXTENT_MAP_INLINE) { in btrfs_dio_iomap_begin()
477 free_extent_map(em); in btrfs_dio_iomap_begin()
494 len = min(len, em->len - (start - em->start)); in btrfs_dio_iomap_begin()
518 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()
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 = extent_map_block_start(em) + (start - em->start); in btrfs_dio_iomap_begin()
566 free_extent_map(em); in btrfs_dio_iomap_begin()