shmem: convert shmem_replace_page() to shmem_replace_folio()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Fri, 2 Sep 2022 19:46:14 +0000 (20:46 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 3 Oct 2022 21:02:47 +0000 (14:02 -0700)
The caller has a folio, so convert the calling convention and rename the
function.

Link: https://lkml.kernel.org/r/20220902194653.1739778-19-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/shmem.c

index 8754e2b4800a1120b92dae9f7d27d62cc8d89325..2bb6f5cfdc111e57b84539c4fb7bd3168d7a5786 100644 (file)
@@ -1608,7 +1608,7 @@ static bool shmem_should_replace_folio(struct folio *folio, gfp_t gfp)
        return folio_zonenum(folio) > gfp_zone(gfp);
 }
 
-static int shmem_replace_page(struct page **pagep, gfp_t gfp,
+static int shmem_replace_folio(struct folio **foliop, gfp_t gfp,
                                struct shmem_inode_info *info, pgoff_t index)
 {
        struct folio *old, *new;
@@ -1617,7 +1617,7 @@ static int shmem_replace_page(struct page **pagep, gfp_t gfp,
        pgoff_t swap_index;
        int error;
 
-       old = page_folio(*pagep);
+       old = *foliop;
        entry = folio_swap_entry(old);
        swap_index = swp_offset(entry);
        swap_mapping = swap_address_space(entry);
@@ -1666,7 +1666,7 @@ static int shmem_replace_page(struct page **pagep, gfp_t gfp,
                old = new;
        } else {
                folio_add_lru(new);
-               *pagep = &new->page;
+               *foliop = new;
        }
 
        folio_clear_swapcache(old);
@@ -1772,8 +1772,7 @@ static int shmem_swapin_folio(struct inode *inode, pgoff_t index,
        arch_swap_restore(swap, folio);
 
        if (shmem_should_replace_folio(folio, gfp)) {
-               error = shmem_replace_page(&page, gfp, info, index);
-               folio = page_folio(page);
+               error = shmem_replace_folio(&folio, gfp, info, index);
                if (error)
                        goto failed;
        }