Lines Matching refs:iomap

210 		struct iomap *iomap)  in iomap_read_inline_data()  argument
219 BUG_ON(size > PAGE_SIZE - offset_in_page(iomap->inline_data)); in iomap_read_inline_data()
222 memcpy(addr, iomap->inline_data, size); in iomap_read_inline_data()
229 struct iomap *iomap, loff_t pos) in iomap_block_needs_zeroing() argument
231 return iomap->type != IOMAP_MAPPED || in iomap_block_needs_zeroing()
232 (iomap->flags & IOMAP_F_NEW) || in iomap_block_needs_zeroing()
238 struct iomap *iomap, struct iomap *srcmap) in iomap_readpage_actor() argument
248 if (iomap->type == IOMAP_INLINE) { in iomap_readpage_actor()
250 iomap_read_inline_data(inode, page, iomap); in iomap_readpage_actor()
259 if (iomap_block_needs_zeroing(inode, iomap, pos)) { in iomap_readpage_actor()
270 sector = iomap_sector(iomap, pos); in iomap_readpage_actor()
300 bio_set_dev(ctx->bio, iomap->bdev); in iomap_readpage_actor()
355 void *data, struct iomap *iomap, struct iomap *srcmap) in iomap_readahead_actor() argument
372 ctx, iomap, srcmap); in iomap_readahead_actor()
536 unsigned plen, struct iomap *iomap) in iomap_read_page_sync() argument
543 bio.bi_iter.bi_sector = iomap_sector(iomap, block_start); in iomap_read_page_sync()
544 bio_set_dev(&bio, iomap->bdev); in iomap_read_page_sync()
551 struct page *page, struct iomap *srcmap) in __iomap_write_begin()
592 struct page **pagep, struct iomap *iomap, struct iomap *srcmap) in iomap_write_begin() argument
594 const struct iomap_page_ops *page_ops = iomap->page_ops; in iomap_write_begin()
598 BUG_ON(pos + len > iomap->offset + iomap->length); in iomap_write_begin()
599 if (srcmap != iomap) in iomap_write_begin()
606 status = page_ops->page_prepare(inode, pos, len, iomap); in iomap_write_begin()
620 else if (iomap->flags & IOMAP_F_BUFFER_HEAD) in iomap_write_begin()
639 page_ops->page_done(inode, pos, 0, NULL, iomap); in iomap_write_begin()
692 struct iomap *iomap, loff_t pos, size_t copied) in iomap_write_end_inline() argument
697 BUG_ON(pos + copied > PAGE_SIZE - offset_in_page(iomap->inline_data)); in iomap_write_end_inline()
701 memcpy(iomap->inline_data + pos, addr + pos, copied); in iomap_write_end_inline()
710 size_t copied, struct page *page, struct iomap *iomap, in iomap_write_end() argument
711 struct iomap *srcmap) in iomap_write_end()
713 const struct iomap_page_ops *page_ops = iomap->page_ops; in iomap_write_end()
718 ret = iomap_write_end_inline(inode, page, iomap, pos, copied); in iomap_write_end()
733 iomap->flags |= IOMAP_F_SIZE_CHANGED; in iomap_write_end()
740 page_ops->page_done(inode, pos, ret, page, iomap); in iomap_write_end()
750 struct iomap *iomap, struct iomap *srcmap) in iomap_write_actor() argument
784 status = iomap_write_begin(inode, pos, bytes, 0, &page, iomap, in iomap_write_actor()
794 copied = iomap_write_end(inode, pos, bytes, copied, page, iomap, in iomap_write_actor()
845 struct iomap *iomap, struct iomap *srcmap) in iomap_unshare_actor() argument
851 if (!(iomap->flags & IOMAP_F_SHARED)) in iomap_unshare_actor()
863 IOMAP_WRITE_F_UNSHARE, &page, iomap, srcmap); in iomap_unshare_actor()
867 status = iomap_write_end(inode, pos, bytes, bytes, page, iomap, in iomap_unshare_actor()
904 struct iomap *iomap, struct iomap *srcmap) in iomap_zero() argument
911 status = iomap_write_begin(inode, pos, bytes, 0, &page, iomap, srcmap); in iomap_zero()
918 return iomap_write_end(inode, pos, bytes, bytes, page, iomap, srcmap); in iomap_zero()
922 loff_t length, void *data, struct iomap *iomap, in iomap_zero_range_actor() argument
923 struct iomap *srcmap) in iomap_zero_range_actor()
936 bytes = dax_iomap_zero(pos, length, iomap); in iomap_zero_range_actor()
938 bytes = iomap_zero(inode, pos, length, iomap, srcmap); in iomap_zero_range_actor()
988 void *data, struct iomap *iomap, struct iomap *srcmap) in iomap_page_mkwrite_actor() argument
993 if (iomap->flags & IOMAP_F_BUFFER_HEAD) { in iomap_page_mkwrite_actor()
994 ret = __block_write_begin_int(page, pos, length, NULL, iomap); in iomap_page_mkwrite_actor()
1225 bio_set_dev(bio, wpc->iomap.bdev); in iomap_alloc_ioend()
1233 ioend->io_type = wpc->iomap.type; in iomap_alloc_ioend()
1234 ioend->io_flags = wpc->iomap.flags; in iomap_alloc_ioend()
1271 if ((wpc->iomap.flags & IOMAP_F_SHARED) != in iomap_can_add_to_ioend()
1274 if (wpc->iomap.type != wpc->ioend->io_type) in iomap_can_add_to_ioend()
1292 sector_t sector = iomap_sector(&wpc->iomap, offset); in iomap_add_to_ioend()
1365 if (WARN_ON_ONCE(wpc->iomap.type == IOMAP_INLINE)) in iomap_writepage_map()
1367 if (wpc->iomap.type == IOMAP_HOLE) in iomap_writepage_map()