Lines Matching defs:iocb

2175  * @iocb:	the iocb to read
2189 ssize_t generic_file_buffered_read(struct kiocb *iocb,
2192 struct file *filp = iocb->ki_filp;
2196 loff_t *ppos = &iocb->ki_pos;
2222 if (written && (iocb->ki_flags & IOCB_WAITQ))
2223 iocb->ki_flags |= IOCB_NOWAIT;
2240 if (iocb->ki_flags & IOCB_NOIO)
2250 if (iocb->ki_flags & IOCB_NOIO) {
2264 if (iocb->ki_flags & IOCB_WAITQ) {
2270 iocb->ki_waitq);
2272 if (iocb->ki_flags & IOCB_NOWAIT) {
2365 if (iocb->ki_flags & IOCB_WAITQ) {
2370 error = lock_page_async(page, iocb->ki_waitq);
2392 if (iocb->ki_flags & (IOCB_NOIO | IOCB_NOWAIT)) {
2416 if (iocb->ki_flags & IOCB_WAITQ) {
2421 error = lock_page_async(page, iocb->ki_waitq);
2490 * @iocb: kernel I/O control block
2496 * The IOCB_NOWAIT flag in iocb->ki_flags indicates that -EAGAIN shall
2500 * The IOCB_NOIO flag in iocb->ki_flags indicates that no new I/O
2510 generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
2518 if (iocb->ki_flags & IOCB_DIRECT) {
2519 struct file *file = iocb->ki_filp;
2525 if (iocb->ki_flags & IOCB_NOWAIT) {
2526 if (filemap_range_has_page(mapping, iocb->ki_pos,
2527 iocb->ki_pos + count - 1))
2531 iocb->ki_pos,
2532 iocb->ki_pos + count - 1);
2539 retval = mapping->a_ops->direct_IO(iocb, iter);
2541 iocb->ki_pos += retval;
2555 if (retval < 0 || !count || iocb->ki_pos >= size ||
2560 retval = generic_file_buffered_read(iocb, iter, retval);
3192 generic_file_direct_write(struct kiocb *iocb, struct iov_iter *from)
3194 struct file *file = iocb->ki_filp;
3197 loff_t pos = iocb->ki_pos;
3205 if (iocb->ki_flags & IOCB_NOWAIT) {
3235 written = mapping->a_ops->direct_IO(iocb, from);
3265 iocb->ki_pos = pos;
3381 * @iocb: IO state structure (file, offset, etc.)
3400 ssize_t __generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
3402 struct file *file = iocb->ki_filp;
3419 if (iocb->ki_flags & IOCB_DIRECT) {
3422 written = generic_file_direct_write(iocb, from);
3433 status = generic_perform_write(file, from, pos = iocb->ki_pos);
3453 iocb->ki_pos = endbyte + 1;
3465 written = generic_perform_write(file, from, iocb->ki_pos);
3467 iocb->ki_pos += written;
3477 * @iocb: IO state structure
3488 ssize_t generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
3490 struct file *file = iocb->ki_filp;
3495 ret = generic_write_checks(iocb, from);
3497 ret = __generic_file_write_iter(iocb, from);
3501 ret = generic_write_sync(iocb, ret);