fs: pass iocb to do_generic_file_read

And rename it to the more descriptive generic_file_buffered_read while
at it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

authored by

Christoph Hellwig and committed by
Al Viro
47c27bc4 cc4a41fe

+8 -7
+8 -7
mm/filemap.c
··· 1888 1888 } 1889 1889 1890 1890 /** 1891 - * do_generic_file_read - generic file read routine 1892 - * @filp: the file to read 1893 - * @ppos: current file position 1891 + * generic_file_buffered_read - generic file read routine 1892 + * @iocb: the iocb to read 1894 1893 * @iter: data destination 1895 1894 * @written: already copied 1896 1895 * ··· 1899 1900 * This is really ugly. But the goto's actually try to clarify some 1900 1901 * of the logic when it comes to error handling etc. 1901 1902 */ 1902 - static ssize_t do_generic_file_read(struct file *filp, loff_t *ppos, 1903 + static ssize_t generic_file_buffered_read(struct kiocb *iocb, 1903 1904 struct iov_iter *iter, ssize_t written) 1904 1905 { 1906 + struct file *filp = iocb->ki_filp; 1905 1907 struct address_space *mapping = filp->f_mapping; 1906 1908 struct inode *inode = mapping->host; 1907 1909 struct file_ra_state *ra = &filp->f_ra; 1910 + loff_t *ppos = &iocb->ki_pos; 1908 1911 pgoff_t index; 1909 1912 pgoff_t last_index; 1910 1913 pgoff_t prev_index; ··· 2154 2153 ssize_t 2155 2154 generic_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) 2156 2155 { 2157 - struct file *file = iocb->ki_filp; 2158 - ssize_t retval = 0; 2159 2156 size_t count = iov_iter_count(iter); 2157 + ssize_t retval = 0; 2160 2158 2161 2159 if (!count) 2162 2160 goto out; /* skip atime */ 2163 2161 2164 2162 if (iocb->ki_flags & IOCB_DIRECT) { 2163 + struct file *file = iocb->ki_filp; 2165 2164 struct address_space *mapping = file->f_mapping; 2166 2165 struct inode *inode = mapping->host; 2167 2166 loff_t size; ··· 2202 2201 goto out; 2203 2202 } 2204 2203 2205 - retval = do_generic_file_read(file, &iocb->ki_pos, iter, retval); 2204 + retval = generic_file_buffered_read(iocb, iter, retval); 2206 2205 out: 2207 2206 return retval; 2208 2207 }