Lines Matching refs:iocb
2050 static ssize_t generic_file_buffered_read(struct kiocb *iocb, in generic_file_buffered_read() argument
2053 struct file *filp = iocb->ki_filp; in generic_file_buffered_read()
2057 loff_t *ppos = &iocb->ki_pos; in generic_file_buffered_read()
2090 if (iocb->ki_flags & IOCB_NOWAIT) in generic_file_buffered_read()
2105 if (iocb->ki_flags & IOCB_NOWAIT) { in generic_file_buffered_read()
2312 generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) in generic_file_read_iter() argument
2320 if (iocb->ki_flags & IOCB_DIRECT) { in generic_file_read_iter()
2321 struct file *file = iocb->ki_filp; in generic_file_read_iter()
2327 if (iocb->ki_flags & IOCB_NOWAIT) { in generic_file_read_iter()
2328 if (filemap_range_has_page(mapping, iocb->ki_pos, in generic_file_read_iter()
2329 iocb->ki_pos + count - 1)) in generic_file_read_iter()
2333 iocb->ki_pos, in generic_file_read_iter()
2334 iocb->ki_pos + count - 1); in generic_file_read_iter()
2341 retval = mapping->a_ops->direct_IO(iocb, iter); in generic_file_read_iter()
2343 iocb->ki_pos += retval; in generic_file_read_iter()
2357 if (retval < 0 || !count || iocb->ki_pos >= size || in generic_file_read_iter()
2362 retval = generic_file_buffered_read(iocb, iter, retval); in generic_file_read_iter()
2925 inline ssize_t generic_write_checks(struct kiocb *iocb, struct iov_iter *from) in generic_write_checks() argument
2927 struct file *file = iocb->ki_filp; in generic_write_checks()
2936 if (iocb->ki_flags & IOCB_APPEND) in generic_write_checks()
2937 iocb->ki_pos = i_size_read(inode); in generic_write_checks()
2939 pos = iocb->ki_pos; in generic_write_checks()
2941 if ((iocb->ki_flags & IOCB_NOWAIT) && !(iocb->ki_flags & IOCB_DIRECT)) in generic_write_checks()
2945 if (iocb->ki_pos >= limit) { in generic_write_checks()
2999 generic_file_direct_write(struct kiocb *iocb, struct iov_iter *from) in generic_file_direct_write() argument
3001 struct file *file = iocb->ki_filp; in generic_file_direct_write()
3004 loff_t pos = iocb->ki_pos; in generic_file_direct_write()
3012 if (iocb->ki_flags & IOCB_NOWAIT) { in generic_file_direct_write()
3042 written = mapping->a_ops->direct_IO(iocb, from); in generic_file_direct_write()
3068 iocb->ki_pos = pos; in generic_file_direct_write()
3199 ssize_t __generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from) in __generic_file_write_iter() argument
3201 struct file *file = iocb->ki_filp; in __generic_file_write_iter()
3218 if (iocb->ki_flags & IOCB_DIRECT) { in __generic_file_write_iter()
3221 written = generic_file_direct_write(iocb, from); in __generic_file_write_iter()
3232 status = generic_perform_write(file, from, pos = iocb->ki_pos); in __generic_file_write_iter()
3252 iocb->ki_pos = endbyte + 1; in __generic_file_write_iter()
3264 written = generic_perform_write(file, from, iocb->ki_pos); in __generic_file_write_iter()
3266 iocb->ki_pos += written; in __generic_file_write_iter()
3283 ssize_t generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from) in generic_file_write_iter() argument
3285 struct file *file = iocb->ki_filp; in generic_file_write_iter()
3290 ret = generic_write_checks(iocb, from); in generic_file_write_iter()
3292 ret = __generic_file_write_iter(iocb, from); in generic_file_write_iter()
3296 ret = generic_write_sync(iocb, ret); in generic_file_write_iter()