Lines Matching refs:iomap
58 return bio_alloc_bioset(iter->iomap.bdev, nr_vecs, opf, in iomap_dio_alloc_bio()
60 return bio_alloc(iter->iomap.bdev, nr_vecs, opf, GFP_KERNEL); in iomap_dio_alloc_bio()
201 bio->bi_iter.bi_sector = iomap_sector(&iter->iomap, pos); in iomap_dio_zero()
216 const struct iomap *iomap, bool use_fua) in iomap_dio_bio_opflags() argument
235 const struct iomap *iomap = &iter->iomap; in iomap_dio_bio_iter() local
248 if ((pos | length) & (bdev_logical_block_size(iomap->bdev) - 1) || in iomap_dio_bio_iter()
249 !bdev_iter_is_aligned(iomap->bdev, dio->submit.iter)) in iomap_dio_bio_iter()
252 if (iomap->type == IOMAP_UNWRITTEN) { in iomap_dio_bio_iter()
257 if (iomap->flags & IOMAP_F_SHARED) in iomap_dio_bio_iter()
260 if (iomap->flags & IOMAP_F_NEW) { in iomap_dio_bio_iter()
262 } else if (iomap->type == IOMAP_MAPPED) { in iomap_dio_bio_iter()
270 if (!(iomap->flags & (IOMAP_F_SHARED|IOMAP_F_DIRTY)) && in iomap_dio_bio_iter()
271 (dio->flags & IOMAP_DIO_WRITE_FUA) && bdev_fua(iomap->bdev)) in iomap_dio_bio_iter()
305 bio_opf = iomap_dio_bio_opflags(dio, iomap, use_fua); in iomap_dio_bio_iter()
319 bio->bi_iter.bi_sector = iomap_sector(iomap, pos); in iomap_dio_bio_iter()
394 const struct iomap *iomap = &iomi->iomap; in iomap_dio_inline_iter() local
396 void *inline_data = iomap_inline_data(iomap, iomi->pos); in iomap_dio_inline_iter()
401 if (WARN_ON_ONCE(!iomap_inline_data_valid(iomap))) in iomap_dio_inline_iter()
408 memset(iomap_inline_data(iomap, size), 0, pos - size); in iomap_dio_inline_iter()
427 switch (iter->iomap.type) { in iomap_dio_iter()