Lines Matching refs:iomap

62 static void iomap_dio_submit_bio(struct iomap_dio *dio, struct iomap *iomap,  in iomap_dio_submit_bio()  argument
70 dio->submit.last_queue = bdev_get_queue(iomap->bdev); in iomap_dio_submit_bio()
74 iomap, bio, pos); in iomap_dio_submit_bio()
185 iomap_dio_zero(struct iomap_dio *dio, struct iomap *iomap, loff_t pos, in iomap_dio_zero() argument
193 bio_set_dev(bio, iomap->bdev); in iomap_dio_zero()
194 bio->bi_iter.bi_sector = iomap_sector(iomap, pos); in iomap_dio_zero()
201 iomap_dio_submit_bio(dio, iomap, bio, pos); in iomap_dio_zero()
206 struct iomap_dio *dio, struct iomap *iomap) in iomap_dio_bio_actor() argument
208 unsigned int blkbits = blksize_bits(bdev_logical_block_size(iomap->bdev)); in iomap_dio_bio_actor()
221 if (iomap->type == IOMAP_UNWRITTEN) { in iomap_dio_bio_actor()
226 if (iomap->flags & IOMAP_F_SHARED) in iomap_dio_bio_actor()
229 if (iomap->flags & IOMAP_F_NEW) { in iomap_dio_bio_actor()
231 } else if (iomap->type == IOMAP_MAPPED) { in iomap_dio_bio_actor()
239 if (!(iomap->flags & (IOMAP_F_SHARED|IOMAP_F_DIRTY)) && in iomap_dio_bio_actor()
241 blk_queue_fua(bdev_get_queue(iomap->bdev))) in iomap_dio_bio_actor()
263 iomap_dio_zero(dio, iomap, pos - pad, pad); in iomap_dio_bio_actor()
275 bio_set_dev(bio, iomap->bdev); in iomap_dio_bio_actor()
276 bio->bi_iter.bi_sector = iomap_sector(iomap, pos); in iomap_dio_bio_actor()
312 iomap_dio_submit_bio(dio, iomap, bio, pos); in iomap_dio_bio_actor()
328 iomap_dio_zero(dio, iomap, pos, fs_block_size - pad); in iomap_dio_bio_actor()
348 struct iomap_dio *dio, struct iomap *iomap) in iomap_dio_inline_actor() argument
353 BUG_ON(pos + length > PAGE_SIZE - offset_in_page(iomap->inline_data)); in iomap_dio_inline_actor()
359 memset(iomap->inline_data + size, 0, pos - size); in iomap_dio_inline_actor()
360 copied = copy_from_iter(iomap->inline_data + pos, length, iter); in iomap_dio_inline_actor()
367 copied = copy_to_iter(iomap->inline_data + pos, length, iter); in iomap_dio_inline_actor()
375 void *data, struct iomap *iomap, struct iomap *srcmap) in iomap_dio_actor() argument
379 switch (iomap->type) { in iomap_dio_actor()
387 return iomap_dio_bio_actor(inode, pos, length, dio, iomap); in iomap_dio_actor()
389 return iomap_dio_bio_actor(inode, pos, length, dio, iomap); in iomap_dio_actor()
391 return iomap_dio_inline_actor(inode, pos, length, dio, iomap); in iomap_dio_actor()