Lines Matching refs:iocb

19 	struct kiocb iocb;  member
262 struct kiocb *iocb = &aio_req->iocb; in ovl_aio_cleanup_handler() local
265 if (iocb->ki_flags & IOCB_WRITE) { in ovl_aio_cleanup_handler()
269 __sb_writers_acquired(file_inode(iocb->ki_filp)->i_sb, in ovl_aio_cleanup_handler()
271 file_end_write(iocb->ki_filp); in ovl_aio_cleanup_handler()
275 orig_iocb->ki_pos = iocb->ki_pos; in ovl_aio_cleanup_handler()
280 static void ovl_aio_rw_complete(struct kiocb *iocb, long res, long res2) in ovl_aio_rw_complete() argument
282 struct ovl_aio_req *aio_req = container_of(iocb, in ovl_aio_rw_complete()
283 struct ovl_aio_req, iocb); in ovl_aio_rw_complete()
290 static ssize_t ovl_read_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_read_iter() argument
292 struct file *file = iocb->ki_filp; in ovl_read_iter()
305 if (is_sync_kiocb(iocb)) { in ovl_read_iter()
306 ret = vfs_iter_read(real.file, iter, &iocb->ki_pos, in ovl_read_iter()
307 ovl_iocb_to_rwf(iocb->ki_flags)); in ovl_read_iter()
318 aio_req->orig_iocb = iocb; in ovl_read_iter()
319 kiocb_clone(&aio_req->iocb, iocb, real.file); in ovl_read_iter()
320 aio_req->iocb.ki_complete = ovl_aio_rw_complete; in ovl_read_iter()
321 ret = vfs_iocb_iter_read(real.file, &aio_req->iocb, iter); in ovl_read_iter()
334 static ssize_t ovl_write_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_write_iter() argument
336 struct file *file = iocb->ki_filp; in ovl_write_iter()
341 int ifl = iocb->ki_flags; in ovl_write_iter()
361 if (is_sync_kiocb(iocb)) { in ovl_write_iter()
363 ret = vfs_iter_write(real.file, iter, &iocb->ki_pos, in ovl_write_iter()
382 aio_req->orig_iocb = iocb; in ovl_write_iter()
383 kiocb_clone(&aio_req->iocb, iocb, real.file); in ovl_write_iter()
384 aio_req->iocb.ki_flags = ifl; in ovl_write_iter()
385 aio_req->iocb.ki_complete = ovl_aio_rw_complete; in ovl_write_iter()
386 ret = vfs_iocb_iter_write(real.file, &aio_req->iocb, iter); in ovl_write_iter()