lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v13 113/137] mm/filemap: Convert filemap_read_page to take a folio
    Date
    One of the callers already had a folio; the other two grow by a few
    bytes, but filemap_read_page() shrinks by 50 bytes for a net reduction
    of 27 bytes.

    Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
    ---
    mm/filemap.c | 18 +++++++++---------
    1 file changed, 9 insertions(+), 9 deletions(-)

    diff --git a/mm/filemap.c b/mm/filemap.c
    index e9674aabfff9..827e8872d2bd 100644
    --- a/mm/filemap.c
    +++ b/mm/filemap.c
    @@ -2302,8 +2302,8 @@ static void filemap_get_read_batch(struct address_space *mapping,
    rcu_read_unlock();
    }

    -static int filemap_read_page(struct file *file, struct address_space *mapping,
    - struct page *page)
    +static int filemap_read_folio(struct file *file, struct address_space *mapping,
    + struct folio *folio)
    {
    int error;

    @@ -2312,16 +2312,16 @@ static int filemap_read_page(struct file *file, struct address_space *mapping,
    * eg. multipath errors. PG_error will be set again if readpage
    * fails.
    */
    - ClearPageError(page);
    + folio_clear_error_flag(folio);
    /* Start the actual read. The read will unlock the page. */
    - error = mapping->a_ops->readpage(file, page);
    + error = mapping->a_ops->readpage(file, &folio->page);
    if (error)
    return error;

    - error = wait_on_page_locked_killable(page);
    + error = folio_wait_locked_killable(folio);
    if (error)
    return error;
    - if (PageUptodate(page))
    + if (folio_uptodate(folio))
    return 0;
    shrink_readahead_size_eio(&file->f_ra);
    return -EIO;
    @@ -2383,7 +2383,7 @@ static int filemap_update_page(struct kiocb *iocb,
    if (iocb->ki_flags & (IOCB_NOIO | IOCB_NOWAIT | IOCB_WAITQ))
    goto unlock;

    - error = filemap_read_page(iocb->ki_filp, mapping, &folio->page);
    + error = filemap_read_folio(iocb->ki_filp, mapping, folio);
    if (error == AOP_TRUNCATED_PAGE)
    folio_put(folio);
    return error;
    @@ -2414,7 +2414,7 @@ static int filemap_create_page(struct file *file,
    if (error)
    goto error;

    - error = filemap_read_page(file, mapping, page);
    + error = filemap_read_folio(file, mapping, page_folio(page));
    if (error)
    goto error;

    @@ -3043,7 +3043,7 @@ vm_fault_t filemap_fault(struct vm_fault *vmf)
    * and we need to check for errors.
    */
    fpin = maybe_unlock_mmap_for_io(vmf, fpin);
    - error = filemap_read_page(file, mapping, page);
    + error = filemap_read_folio(file, mapping, page_folio(page));
    if (fpin)
    goto out_retry;
    put_page(page);
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-07-12 06:08    [W:3.329 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site