Commit d85dc2e1 authored by Goldwyn Rodrigues's avatar Goldwyn Rodrigues Committed by David Sterba

fs: export generic_file_buffered_read()

Export generic_file_buffered_read() to be used to supplement incomplete
direct reads.
Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent bbcd1f4d
...@@ -3124,6 +3124,8 @@ extern int generic_file_rw_checks(struct file *file_in, struct file *file_out); ...@@ -3124,6 +3124,8 @@ extern int generic_file_rw_checks(struct file *file_in, struct file *file_out);
extern int generic_copy_file_checks(struct file *file_in, loff_t pos_in, extern int generic_copy_file_checks(struct file *file_in, loff_t pos_in,
struct file *file_out, loff_t pos_out, struct file *file_out, loff_t pos_out,
size_t *count, unsigned int flags); size_t *count, unsigned int flags);
extern ssize_t generic_file_buffered_read(struct kiocb *iocb,
struct iov_iter *to, ssize_t already_read);
extern ssize_t generic_file_read_iter(struct kiocb *, struct iov_iter *); extern ssize_t generic_file_read_iter(struct kiocb *, struct iov_iter *);
extern ssize_t __generic_file_write_iter(struct kiocb *, struct iov_iter *); extern ssize_t __generic_file_write_iter(struct kiocb *, struct iov_iter *);
extern ssize_t generic_file_write_iter(struct kiocb *, struct iov_iter *); 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) ...@@ -1991,7 +1991,7 @@ static void shrink_readahead_size_eio(struct file_ra_state *ra)
* * total number of bytes copied, including those the were already @written * * total number of bytes copied, including those the were already @written
* * negative error code if nothing was copied * * negative error code if nothing was copied
*/ */
static ssize_t generic_file_buffered_read(struct kiocb *iocb, ssize_t generic_file_buffered_read(struct kiocb *iocb,
struct iov_iter *iter, ssize_t written) struct iov_iter *iter, ssize_t written)
{ {
struct file *filp = iocb->ki_filp; struct file *filp = iocb->ki_filp;
...@@ -2243,6 +2243,7 @@ static ssize_t generic_file_buffered_read(struct kiocb *iocb, ...@@ -2243,6 +2243,7 @@ static ssize_t generic_file_buffered_read(struct kiocb *iocb,
file_accessed(filp); file_accessed(filp);
return written ? written : error; return written ? written : error;
} }
EXPORT_SYMBOL_GPL(generic_file_buffered_read);
/** /**
* generic_file_read_iter - generic filesystem read routine * generic_file_read_iter - generic filesystem read routine
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment