Lines Matching refs:iomap

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