Lines Matching refs:iocb
21 struct kiocb iocb; member
257 struct kiocb *iocb = &aio_req->iocb; in ovl_aio_cleanup_handler() local
260 if (iocb->ki_flags & IOCB_WRITE) { in ovl_aio_cleanup_handler()
264 __sb_writers_acquired(file_inode(iocb->ki_filp)->i_sb, in ovl_aio_cleanup_handler()
266 file_end_write(iocb->ki_filp); in ovl_aio_cleanup_handler()
270 orig_iocb->ki_pos = iocb->ki_pos; in ovl_aio_cleanup_handler()
274 static void ovl_aio_rw_complete(struct kiocb *iocb, long res, long res2) in ovl_aio_rw_complete() argument
276 struct ovl_aio_req *aio_req = container_of(iocb, in ovl_aio_rw_complete()
277 struct ovl_aio_req, iocb); in ovl_aio_rw_complete()
284 static ssize_t ovl_read_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_read_iter() argument
286 struct file *file = iocb->ki_filp; in ovl_read_iter()
299 if (iocb->ki_flags & IOCB_DIRECT && 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 iocb_to_rw_flags(iocb->ki_flags, in ovl_read_iter()
319 aio_req->orig_iocb = iocb; in ovl_read_iter()
320 kiocb_clone(&aio_req->iocb, iocb, real.file); in ovl_read_iter()
321 aio_req->iocb.ki_complete = ovl_aio_rw_complete; in ovl_read_iter()
323 ret = vfs_iocb_iter_read(real.file, &aio_req->iocb, iter); in ovl_read_iter()
338 static ssize_t ovl_write_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_write_iter() argument
340 struct file *file = iocb->ki_filp; in ovl_write_iter()
345 int ifl = iocb->ki_flags; in ovl_write_iter()
362 if (iocb->ki_flags & IOCB_DIRECT && in ovl_write_iter()
371 if (is_sync_kiocb(iocb)) { in ovl_write_iter()
373 ret = vfs_iter_write(real.file, iter, &iocb->ki_pos, in ovl_write_iter()
392 aio_req->orig_iocb = iocb; in ovl_write_iter()
393 kiocb_clone(&aio_req->iocb, iocb, real.file); in ovl_write_iter()
394 aio_req->iocb.ki_flags = ifl; in ovl_write_iter()
395 aio_req->iocb.ki_complete = ovl_aio_rw_complete; in ovl_write_iter()
397 ret = vfs_iocb_iter_write(real.file, &aio_req->iocb, iter); in ovl_write_iter()