Lines Matching defs:iomi
455 static loff_t iomap_dio_inline_iter(const struct iomap_iter *iomi,
458 const struct iomap *iomap = &iomi->iomap;
460 void *inline_data = iomap_inline_data(iomap, iomi->pos);
461 loff_t length = iomap_length(iomi);
462 loff_t pos = iomi->pos;
469 loff_t size = iomi->inode->i_size;
476 i_size_write(iomi->inode, pos + copied);
477 mark_inode_dirty(iomi->inode);
546 struct iomap_iter iomi = {
561 if (!iomi.len)
581 iomi.flags |= IOMAP_NOWAIT;
587 if (iomi.pos >= dio->i_size)
593 ret = kiocb_write_and_wait(iocb, iomi.len);
597 iomi.flags |= IOMAP_WRITE;
611 if (iomi.pos >= dio->i_size ||
612 iomi.pos + iomi.len > dio->i_size)
614 iomi.flags |= IOMAP_OVERWRITE_ONLY;
639 ret = kiocb_invalidate_pages(iocb, iomi.len);
642 trace_iomap_dio_invalidate_fail(inode, iomi.pos,
643 iomi.len);
659 while ((ret = iomap_iter(&iomi, ops)) > 0) {
660 iomi.processed = iomap_dio_iter(&iomi, dio);
675 if (iov_iter_rw(iter) == READ && iomi.pos >= dio->i_size)
676 iov_iter_revert(iter, iomi.pos - dio->i_size);
718 trace_iomap_dio_rw_queued(inode, iomi.pos, iomi.len);