fs: export generic_file_buffered_read()
Export generic_file_buffered_read() to be used to supplement incomplete direct reads. Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> Signed-off-by: Zlatan Radovanovic <zlatan.radovanovic@fet.ba> Change-Id: I5577fca5f9a836348d71999839f5de47e72caf98 Signed-off-by: Naveen <133593113+elohim-etz@users.noreply.github.com>
This commit is contained in:
@@ -2978,6 +2978,8 @@ extern int sb_min_blocksize(struct super_block *, int);
|
|||||||
extern int generic_file_mmap(struct file *, struct vm_area_struct *);
|
extern int generic_file_mmap(struct file *, struct vm_area_struct *);
|
||||||
extern int generic_file_readonly_mmap(struct file *, struct vm_area_struct *);
|
extern int generic_file_readonly_mmap(struct file *, struct vm_area_struct *);
|
||||||
extern ssize_t generic_write_checks(struct kiocb *, struct iov_iter *);
|
extern ssize_t generic_write_checks(struct kiocb *, struct iov_iter *);
|
||||||
|
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 *);
|
||||||
|
|||||||
@@ -1996,7 +1996,7 @@ static void shrink_readahead_size_eio(struct file *filp,
|
|||||||
* This is really ugly. But the goto's actually try to clarify some
|
* This is really ugly. But the goto's actually try to clarify some
|
||||||
* of the logic when it comes to error handling etc.
|
* of the logic when it comes to error handling etc.
|
||||||
*/
|
*/
|
||||||
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;
|
||||||
@@ -2248,6 +2248,7 @@ out:
|
|||||||
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
|
||||||
|
|||||||
Reference in New Issue
Block a user