Export generic_file_buffered_read() to be used to supplement incomplete direct reads.
Unified · Split
| @@ -3124,6 +3124,8 @@ extern int generic_file_rw_checks(struct file *file_in, struct file *file_out); · 3123 unmodified lines | |||
| 3124 | extern int generic_copy_file_checks(struct file *file_in, loff_t pos_in, | 3124 | extern int generic_copy_file_checks(struct file *file_in, loff_t pos_in, |
| 3125 | struct file *file_out, loff_t pos_out, | 3125 | struct file *file_out, loff_t pos_out, |
| 3126 | size_t *count, unsigned int flags); | 3126 | size_t *count, unsigned int flags); |
| 3127 | extern ssize_t generic_file_buffered_read(struct kiocb *iocb, | ||
| 3128 | struct iov_iter *to, ssize_t already_read); | ||
| 3127 | extern ssize_t generic_file_read_iter(struct kiocb *, struct iov_iter *); | 3129 | extern ssize_t generic_file_read_iter(struct kiocb *, struct iov_iter *); |
| 3128 | extern ssize_t __generic_file_write_iter(struct kiocb *, struct iov_iter *); | 3130 | extern ssize_t __generic_file_write_iter(struct kiocb *, struct iov_iter *); |
| 3129 | extern ssize_t generic_file_write_iter(struct kiocb *, struct iov_iter *); | 3131 | extern ssize_t generic_file_write_iter(struct kiocb *, struct iov_iter *); |
| @@ -1991,7 +1991,7 @@ static void shrink_readahead_size_eio(struct file_ra_state *ra) · 1990 unmodified lines | |||
| 1991 | * * total number of bytes copied, including those the were already @written | 1991 | * * total number of bytes copied, including those the were already @written |
| 1992 | * * negative error code if nothing was copied | 1992 | * * negative error code if nothing was copied |
| 1993 | */ | 1993 | */ |
| 1994 | static ssize_t generic_file_buffered_read(struct kiocb *iocb, | 1994 | ssize_t generic_file_buffered_read(struct kiocb *iocb, |
| 1995 | struct iov_iter *iter, ssize_t written) | 1995 | struct iov_iter *iter, ssize_t written) |
| 1996 | { | 1996 | { |
| 1997 | struct file *filp = iocb->ki_filp; | 1997 | struct file *filp = iocb->ki_filp; |
| @@ -2243,6 +2243,7 @@ out: · 245 unmodified lines | |||
| 2243 | file_accessed(filp); | 2243 | file_accessed(filp); |
| 2244 | return written ? written : error; | 2244 | return written ? written : error; |
| 2245 | } | 2245 | } |
| 2246 | EXPORT_SYMBOL_GPL(generic_file_buffered_read); | ||
| 2246 | 2247 | ||
| 2247 | /** | 2248 | /** |
| 2248 | * generic_file_read_iter - generic filesystem read routine | 2249 | * generic_file_read_iter - generic filesystem read routine |