Lines Matching refs:iomi

483 static loff_t iomap_dio_inline_iter(const struct iomap_iter *iomi,  in iomap_dio_inline_iter()  argument
486 const struct iomap *iomap = &iomi->iomap; in iomap_dio_inline_iter()
488 void *inline_data = iomap_inline_data(iomap, iomi->pos); in iomap_dio_inline_iter()
489 loff_t length = iomap_length(iomi); in iomap_dio_inline_iter()
490 loff_t pos = iomi->pos; in iomap_dio_inline_iter()
497 loff_t size = iomi->inode->i_size; in iomap_dio_inline_iter()
504 i_size_write(iomi->inode, pos + copied); in iomap_dio_inline_iter()
505 mark_inode_dirty(iomi->inode); in iomap_dio_inline_iter()
574 struct iomap_iter iomi = { in __iomap_dio_rw() local
589 if (!iomi.len) in __iomap_dio_rw()
609 iomi.flags |= IOMAP_NOWAIT; in __iomap_dio_rw()
612 iomi.flags |= IOMAP_ATOMIC; in __iomap_dio_rw()
618 if (iomi.pos >= dio->i_size) in __iomap_dio_rw()
624 ret = kiocb_write_and_wait(iocb, iomi.len); in __iomap_dio_rw()
628 iomi.flags |= IOMAP_WRITE; in __iomap_dio_rw()
642 if (iomi.pos >= dio->i_size || in __iomap_dio_rw()
643 iomi.pos + iomi.len > dio->i_size) in __iomap_dio_rw()
645 iomi.flags |= IOMAP_OVERWRITE_ONLY; in __iomap_dio_rw()
670 ret = kiocb_invalidate_pages(iocb, iomi.len); in __iomap_dio_rw()
673 trace_iomap_dio_invalidate_fail(inode, iomi.pos, in __iomap_dio_rw()
674 iomi.len); in __iomap_dio_rw()
700 while ((ret = iomap_iter(&iomi, ops)) > 0) { in __iomap_dio_rw()
701 iomi.processed = iomap_dio_iter(&iomi, dio); in __iomap_dio_rw()
716 if (iov_iter_rw(iter) == READ && iomi.pos >= dio->i_size) in __iomap_dio_rw()
717 iov_iter_revert(iter, iomi.pos - dio->i_size); in __iomap_dio_rw()
759 trace_iomap_dio_rw_queued(inode, iomi.pos, iomi.len); in __iomap_dio_rw()