Lines Matching refs:iocb
38 struct kiocb *iocb; member
74 struct kiocb *iocb = dio->iocb; in iomap_dio_submit_bio() local
79 if ((iocb->ki_flags & IOCB_HIPRI) && !is_sync_kiocb(iocb)) { in iomap_dio_submit_bio()
80 bio_set_polled(bio, iocb); in iomap_dio_submit_bio()
81 WRITE_ONCE(iocb->private, bio); in iomap_dio_submit_bio()
93 struct kiocb *iocb = dio->iocb; in iomap_dio_complete() local
94 loff_t offset = iocb->ki_pos; in iomap_dio_complete()
98 ret = dops->end_io(iocb, dio->size, ret, dio->flags); in iomap_dio_complete()
121 kiocb_invalidate_post_direct_write(iocb, dio->size); in iomap_dio_complete()
123 inode_dio_end(file_inode(iocb->ki_filp)); in iomap_dio_complete()
126 iocb->ki_pos += ret; in iomap_dio_complete()
133 ret = generic_write_sync(iocb, ret); in iomap_dio_complete()
137 trace_iomap_dio_complete(iocb, dio->error, ret); in iomap_dio_complete()
151 struct kiocb *iocb = dio->iocb; in iomap_dio_complete_work() local
153 iocb->ki_complete(iocb, iomap_dio_complete(dio)); in iomap_dio_complete_work()
170 struct kiocb *iocb = dio->iocb; in iomap_dio_bio_end_io() local
193 WRITE_ONCE(iocb->private, NULL); in iomap_dio_bio_end_io()
204 iocb->private = dio; in iomap_dio_bio_end_io()
205 iocb->dio_complete = iomap_dio_deferred_complete; in iomap_dio_bio_end_io()
219 iocb->ki_complete(iocb, 0); in iomap_dio_bio_end_io()
230 queue_work(file_inode(iocb->ki_filp)->i_sb->s_dio_done_wq, in iomap_dio_bio_end_io()
245 struct inode *inode = file_inode(dio->iocb->ki_filp); in iomap_dio_zero()
369 dio->iocb->ki_flags &= ~IOCB_HIPRI; in iomap_dio_bio_iter()
401 bio->bi_ioprio = dio->iocb->ki_ioprio; in iomap_dio_bio_iter()
434 dio->iocb->ki_flags &= ~IOCB_HIPRI; in iomap_dio_bio_iter()
530 dio->iocb->ki_filp, current->comm); in iomap_dio_iter()
559 __iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, in __iomap_dio_rw() argument
563 struct inode *inode = file_inode(iocb->ki_filp); in __iomap_dio_rw()
566 .pos = iocb->ki_pos, in __iomap_dio_rw()
572 is_sync_kiocb(iocb) || (dio_flags & IOMAP_DIO_FORCE_WAIT); in __iomap_dio_rw()
577 trace_iomap_dio_rw_begin(iocb, iter, dio_flags, done_before); in __iomap_dio_rw()
586 dio->iocb = iocb; in __iomap_dio_rw()
598 if (iocb->ki_flags & IOCB_NOWAIT) in __iomap_dio_rw()
611 ret = kiocb_write_and_wait(iocb, iomi.len); in __iomap_dio_rw()
624 if (iocb->ki_flags & IOCB_DIO_CALLER_COMP) in __iomap_dio_rw()
636 if (iocb_is_dsync(iocb)) { in __iomap_dio_rw()
648 if (!(iocb->ki_flags & IOCB_SYNC)) in __iomap_dio_rw()
657 ret = kiocb_invalidate_pages(iocb, iomi.len); in __iomap_dio_rw()
683 iocb->ki_flags &= ~IOCB_HIPRI; in __iomap_dio_rw()
697 if (!(iocb->ki_flags & IOCB_NOWAIT)) in __iomap_dio_rw()
761 iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, in iomap_dio_rw() argument
767 dio = __iomap_dio_rw(iocb, iter, ops, dops, dio_flags, private, in iomap_dio_rw()