Lines Matching refs:iocb
2185 ssize_t generic_file_buffered_read(struct kiocb *iocb, in generic_file_buffered_read() argument
2188 struct file *filp = iocb->ki_filp; in generic_file_buffered_read()
2192 loff_t *ppos = &iocb->ki_pos; in generic_file_buffered_read()
2215 if (written && (iocb->ki_flags & IOCB_WAITQ)) in generic_file_buffered_read()
2216 iocb->ki_flags |= IOCB_NOWAIT; in generic_file_buffered_read()
2233 if (iocb->ki_flags & IOCB_NOIO) in generic_file_buffered_read()
2243 if (iocb->ki_flags & IOCB_NOIO) { in generic_file_buffered_read()
2257 if (iocb->ki_flags & IOCB_WAITQ) { in generic_file_buffered_read()
2263 iocb->ki_waitq); in generic_file_buffered_read()
2265 if (iocb->ki_flags & IOCB_NOWAIT) { in generic_file_buffered_read()
2358 if (iocb->ki_flags & IOCB_WAITQ) { in generic_file_buffered_read()
2363 error = lock_page_async(page, iocb->ki_waitq); in generic_file_buffered_read()
2385 if (iocb->ki_flags & (IOCB_NOIO | IOCB_NOWAIT)) { in generic_file_buffered_read()
2409 if (iocb->ki_flags & IOCB_WAITQ) { in generic_file_buffered_read()
2414 error = lock_page_async(page, iocb->ki_waitq); in generic_file_buffered_read()
2503 generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) in generic_file_read_iter() argument
2511 if (iocb->ki_flags & IOCB_DIRECT) { in generic_file_read_iter()
2512 struct file *file = iocb->ki_filp; in generic_file_read_iter()
2518 if (iocb->ki_flags & IOCB_NOWAIT) { in generic_file_read_iter()
2519 if (filemap_range_has_page(mapping, iocb->ki_pos, in generic_file_read_iter()
2520 iocb->ki_pos + count - 1)) in generic_file_read_iter()
2524 iocb->ki_pos, in generic_file_read_iter()
2525 iocb->ki_pos + count - 1); in generic_file_read_iter()
2532 retval = mapping->a_ops->direct_IO(iocb, iter); in generic_file_read_iter()
2534 iocb->ki_pos += retval; in generic_file_read_iter()
2548 if (retval < 0 || !count || iocb->ki_pos >= size || in generic_file_read_iter()
2553 retval = generic_file_buffered_read(iocb, iter, retval); in generic_file_read_iter()
3185 generic_file_direct_write(struct kiocb *iocb, struct iov_iter *from) in generic_file_direct_write() argument
3187 struct file *file = iocb->ki_filp; in generic_file_direct_write()
3190 loff_t pos = iocb->ki_pos; in generic_file_direct_write()
3198 if (iocb->ki_flags & IOCB_NOWAIT) { in generic_file_direct_write()
3228 written = mapping->a_ops->direct_IO(iocb, from); in generic_file_direct_write()
3258 iocb->ki_pos = pos; in generic_file_direct_write()
3393 ssize_t __generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from) in __generic_file_write_iter() argument
3395 struct file *file = iocb->ki_filp; in __generic_file_write_iter()
3412 if (iocb->ki_flags & IOCB_DIRECT) { in __generic_file_write_iter()
3415 written = generic_file_direct_write(iocb, from); in __generic_file_write_iter()
3426 status = generic_perform_write(file, from, pos = iocb->ki_pos); in __generic_file_write_iter()
3446 iocb->ki_pos = endbyte + 1; in __generic_file_write_iter()
3458 written = generic_perform_write(file, from, iocb->ki_pos); in __generic_file_write_iter()
3460 iocb->ki_pos += written; in __generic_file_write_iter()
3481 ssize_t generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from) in generic_file_write_iter() argument
3483 struct file *file = iocb->ki_filp; in generic_file_write_iter()
3488 ret = generic_write_checks(iocb, from); in generic_file_write_iter()
3490 ret = __generic_file_write_iter(iocb, from); in generic_file_write_iter()
3494 ret = generic_write_sync(iocb, ret); in generic_file_write_iter()