Hi: On 2021/1/21 12:15, Matthew Wilcox (Oracle) wrote: > The recent split of generic_file_buffered_read() created some very > long function names which are hard to distinguish from each other. > Rename as follows: > > generic_file_buffered_read_readpage -> filemap_read_page > generic_file_buffered_read_pagenotuptodate -> filemap_update_page > generic_file_buffered_read_no_cached_page -> filemap_create_page > generic_file_buffered_read_get_pages -> filemap_get_pages > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > Reviewed-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> > --- > mm/filemap.c | 44 +++++++++++++++----------------------------- > 1 file changed, 15 insertions(+), 29 deletions(-) > > diff --git a/mm/filemap.c b/mm/filemap.c > index d90614f501daa..934e04f1760ef 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -2168,11 +2168,8 @@ static int lock_page_for_iocb(struct kiocb *iocb, struct page *page) > return lock_page_killable(page); > } > > -static struct page * > -generic_file_buffered_read_readpage(struct kiocb *iocb, > - struct file *filp, > - struct address_space *mapping, > - struct page *page) > +static struct page *filemap_read_page(struct kiocb *iocb, struct file *filp, > + struct address_space *mapping, struct page *page) > { > struct file_ra_state *ra = &filp->f_ra; > int error; > @@ -2223,12 +2220,9 @@ generic_file_buffered_read_readpage(struct kiocb *iocb, > return page; > } > > -static struct page * > -generic_file_buffered_read_pagenotuptodate(struct kiocb *iocb, > - struct file *filp, > - struct iov_iter *iter, > - struct page *page, > - loff_t pos, loff_t count) > +static struct page *filemap_update_page(struct kiocb *iocb, struct file *filp, > + struct iov_iter *iter, struct page *page, loff_t pos, > + loff_t count) > { > struct address_space *mapping = filp->f_mapping; > struct inode *inode = mapping->host; > @@ -2291,12 +2285,11 @@ generic_file_buffered_read_pagenotuptodate(struct kiocb *iocb, > return page; > } > > - return generic_file_buffered_read_readpage(iocb, filp, mapping, page); > + return filemap_read_page(iocb, filp, mapping, page); > } > > -static struct page * > -generic_file_buffered_read_no_cached_page(struct kiocb *iocb, > - struct iov_iter *iter) > +static struct page *filemap_create_page(struct kiocb *iocb, > + struct iov_iter *iter) > { > struct file *filp = iocb->ki_filp; > struct address_space *mapping = filp->f_mapping; > @@ -2307,10 +2300,6 @@ generic_file_buffered_read_no_cached_page(struct kiocb *iocb, > if (iocb->ki_flags & IOCB_NOIO) > return ERR_PTR(-EAGAIN); > > - /* > - * Ok, it wasn't cached, so we need to create a new > - * page.. > - */ > page = page_cache_alloc(mapping); > if (!page) > return ERR_PTR(-ENOMEM); > @@ -2322,13 +2311,11 @@ generic_file_buffered_read_no_cached_page(struct kiocb *iocb, > return error != -EEXIST ? ERR_PTR(error) : NULL; > } > > - return generic_file_buffered_read_readpage(iocb, filp, mapping, page); > + return filemap_read_page(iocb, filp, mapping, page); > } > > -static int generic_file_buffered_read_get_pages(struct kiocb *iocb, > - struct iov_iter *iter, > - struct page **pages, > - unsigned int nr) > +static int filemap_get_pages(struct kiocb *iocb, struct iov_iter *iter, > + struct page **pages, unsigned int nr) > { > struct file *filp = iocb->ki_filp; > struct address_space *mapping = filp->f_mapping; > @@ -2355,7 +2342,7 @@ static int generic_file_buffered_read_get_pages(struct kiocb *iocb, > if (nr_got) > goto got_pages; > > - pages[0] = generic_file_buffered_read_no_cached_page(iocb, iter); > + pages[0] = filemap_create_page(iocb, iter); > err = PTR_ERR_OR_ZERO(pages[0]); > if (!IS_ERR_OR_NULL(pages[0])) > nr_got = 1; > @@ -2389,8 +2376,8 @@ static int generic_file_buffered_read_get_pages(struct kiocb *iocb, > break; > } > > - page = generic_file_buffered_read_pagenotuptodate(iocb, > - filp, iter, page, pg_pos, pg_count); > + page = filemap_update_page(iocb, filp, iter, page, > + pg_pos, pg_count); > if (IS_ERR_OR_NULL(page)) { > for (j = i + 1; j < nr_got; j++) > put_page(pages[j]); > @@ -2466,8 +2453,7 @@ ssize_t generic_file_buffered_read(struct kiocb *iocb, > iocb->ki_flags |= IOCB_NOWAIT; > > i = 0; > - pg_nr = generic_file_buffered_read_get_pages(iocb, iter, > - pages, nr_pages); > + pg_nr = filemap_get_pages(iocb, iter, pages, nr_pages); > if (pg_nr < 0) { > error = pg_nr; > break; > Looks good to me. Thanks. Reviewed-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>