Lines Matching refs:iomap

9 #include <linux/iomap.h>
210 struct iomap *iomap)
219 BUG_ON(size > PAGE_SIZE - offset_in_page(iomap->inline_data));
222 memcpy(addr, iomap->inline_data, size);
229 struct iomap *iomap, loff_t pos)
231 return iomap->type != IOMAP_MAPPED ||
232 (iomap->flags & IOMAP_F_NEW) ||
238 struct iomap *iomap, struct iomap *srcmap)
248 if (iomap->type == IOMAP_INLINE) {
250 iomap_read_inline_data(inode, page, iomap);
259 if (iomap_block_needs_zeroing(inode, iomap, pos)) {
270 sector = iomap_sector(iomap, pos);
300 bio_set_dev(ctx->bio, iomap->bdev);
355 void *data, struct iomap *iomap, struct iomap *srcmap)
372 ctx, iomap, srcmap);
537 unsigned plen, struct iomap *iomap)
544 bio.bi_iter.bi_sector = iomap_sector(iomap, block_start);
545 bio_set_dev(&bio, iomap->bdev);
552 struct page *page, struct iomap *srcmap)
593 struct page **pagep, struct iomap *iomap, struct iomap *srcmap)
595 const struct iomap_page_ops *page_ops = iomap->page_ops;
599 BUG_ON(pos + len > iomap->offset + iomap->length);
600 if (srcmap != iomap)
607 status = page_ops->page_prepare(inode, pos, len, iomap);
621 else if (iomap->flags & IOMAP_F_BUFFER_HEAD)
640 page_ops->page_done(inode, pos, 0, NULL, iomap);
693 struct iomap *iomap, loff_t pos, size_t copied)
698 BUG_ON(pos + copied > PAGE_SIZE - offset_in_page(iomap->inline_data));
702 memcpy(iomap->inline_data + pos, addr + pos, copied);
711 size_t copied, struct page *page, struct iomap *iomap,
712 struct iomap *srcmap)
714 const struct iomap_page_ops *page_ops = iomap->page_ops;
719 ret = iomap_write_end_inline(inode, page, iomap, pos, copied);
734 iomap->flags |= IOMAP_F_SIZE_CHANGED;
741 page_ops->page_done(inode, pos, ret, page, iomap);
751 struct iomap *iomap, struct iomap *srcmap)
785 status = iomap_write_begin(inode, pos, bytes, 0, &page, iomap,
795 copied = iomap_write_end(inode, pos, bytes, copied, page, iomap,
846 struct iomap *iomap, struct iomap *srcmap)
852 if (!(iomap->flags & IOMAP_F_SHARED))
864 IOMAP_WRITE_F_UNSHARE, &page, iomap, srcmap);
868 status = iomap_write_end(inode, pos, bytes, bytes, page, iomap,
905 struct iomap *iomap, struct iomap *srcmap)
912 status = iomap_write_begin(inode, pos, bytes, 0, &page, iomap, srcmap);
919 return iomap_write_end(inode, pos, bytes, bytes, page, iomap, srcmap);
923 loff_t length, void *data, struct iomap *iomap,
924 struct iomap *srcmap)
937 bytes = dax_iomap_zero(pos, length, iomap);
939 bytes = iomap_zero(inode, pos, length, iomap, srcmap);
989 void *data, struct iomap *iomap, struct iomap *srcmap)
994 if (iomap->flags & IOMAP_F_BUFFER_HEAD) {
995 ret = __block_write_begin_int(page, pos, length, NULL, iomap);
1227 bio_set_dev(bio, wpc->iomap.bdev);
1235 ioend->io_type = wpc->iomap.type;
1236 ioend->io_flags = wpc->iomap.flags;
1273 if ((wpc->iomap.flags & IOMAP_F_SHARED) !=
1276 if (wpc->iomap.type != wpc->ioend->io_type)
1294 sector_t sector = iomap_sector(&wpc->iomap, offset);
1367 if (WARN_ON_ONCE(wpc->iomap.type == IOMAP_INLINE))
1369 if (wpc->iomap.type == IOMAP_HOLE)