Lines Matching defs:iomi
454 static loff_t iomap_dio_inline_iter(const struct iomap_iter *iomi,
457 const struct iomap *iomap = &iomi->iomap;
459 void *inline_data = iomap_inline_data(iomap, iomi->pos);
460 loff_t length = iomap_length(iomi);
461 loff_t pos = iomi->pos;
468 loff_t size = iomi->inode->i_size;
475 i_size_write(iomi->inode, pos + copied);
476 mark_inode_dirty(iomi->inode);
545 struct iomap_iter iomi = {
560 if (!iomi.len)
580 iomi.flags |= IOMAP_NOWAIT;
586 if (iomi.pos >= dio->i_size)
592 ret = kiocb_write_and_wait(iocb, iomi.len);
596 iomi.flags |= IOMAP_WRITE;
610 if (iomi.pos >= dio->i_size ||
611 iomi.pos + iomi.len > dio->i_size)
613 iomi.flags |= IOMAP_OVERWRITE_ONLY;
638 ret = kiocb_invalidate_pages(iocb, iomi.len);
641 trace_iomap_dio_invalidate_fail(inode, iomi.pos,
642 iomi.len);
658 while ((ret = iomap_iter(&iomi, ops)) > 0) {
659 iomi.processed = iomap_dio_iter(&iomi, dio);
674 if (iov_iter_rw(iter) == READ && iomi.pos >= dio->i_size)
675 iov_iter_revert(iter, iomi.pos - dio->i_size);
717 trace_iomap_dio_rw_queued(inode, iomi.pos, iomi.len);