Lines Matching refs:iocb

19 	struct kiocb iocb;  member
282 fput(aio_req->iocb.ki_filp); in ovl_aio_put()
289 struct kiocb *iocb = &aio_req->iocb; in ovl_aio_cleanup_handler() local
292 if (iocb->ki_flags & IOCB_WRITE) { in ovl_aio_cleanup_handler()
295 kiocb_end_write(iocb); in ovl_aio_cleanup_handler()
299 orig_iocb->ki_pos = iocb->ki_pos; in ovl_aio_cleanup_handler()
303 static void ovl_aio_rw_complete(struct kiocb *iocb, long res) in ovl_aio_rw_complete() argument
305 struct ovl_aio_req *aio_req = container_of(iocb, in ovl_aio_rw_complete()
306 struct ovl_aio_req, iocb); in ovl_aio_rw_complete()
313 static ssize_t ovl_read_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_read_iter() argument
315 struct file *file = iocb->ki_filp; in ovl_read_iter()
328 if (iocb->ki_flags & IOCB_DIRECT && in ovl_read_iter()
333 if (is_sync_kiocb(iocb)) { in ovl_read_iter()
334 ret = vfs_iter_read(real.file, iter, &iocb->ki_pos, in ovl_read_iter()
335 ovl_iocb_to_rwf(iocb->ki_flags)); in ovl_read_iter()
344 aio_req->orig_iocb = iocb; in ovl_read_iter()
345 kiocb_clone(&aio_req->iocb, iocb, get_file(real.file)); in ovl_read_iter()
346 aio_req->iocb.ki_complete = ovl_aio_rw_complete; in ovl_read_iter()
348 ret = vfs_iocb_iter_read(real.file, &aio_req->iocb, iter); in ovl_read_iter()
362 static ssize_t ovl_write_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_write_iter() argument
364 struct file *file = iocb->ki_filp; in ovl_write_iter()
369 int ifl = iocb->ki_flags; in ovl_write_iter()
386 if (iocb->ki_flags & IOCB_DIRECT && in ovl_write_iter()
400 if (is_sync_kiocb(iocb)) { in ovl_write_iter()
402 ret = vfs_iter_write(real.file, iter, &iocb->ki_pos, in ovl_write_iter()
415 aio_req->orig_iocb = iocb; in ovl_write_iter()
416 kiocb_clone(&aio_req->iocb, iocb, get_file(real.file)); in ovl_write_iter()
417 aio_req->iocb.ki_flags = ifl; in ovl_write_iter()
418 aio_req->iocb.ki_complete = ovl_aio_rw_complete; in ovl_write_iter()
420 kiocb_start_write(&aio_req->iocb); in ovl_write_iter()
421 ret = vfs_iocb_iter_write(real.file, &aio_req->iocb, iter); in ovl_write_iter()