z3fold doesn't really use folios, but it needs to be called like this
in order to migrate an individual page.  Convert from a folio back to
a page until we decide how to handle migration better for z3fold.

Signed-off-by: Matthew Wilcox (Oracle) <wi...@infradead.org>
---
 mm/z3fold.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/mm/z3fold.c b/mm/z3fold.c
index f41f8b0d9e9a..5d091c41fb35 100644
--- a/mm/z3fold.c
+++ b/mm/z3fold.c
@@ -1554,9 +1554,11 @@ static bool z3fold_page_isolate(struct page *page, 
isolate_mode_t mode)
        return false;
 }
 
-static int z3fold_page_migrate(struct address_space *mapping, struct page 
*newpage,
-                              struct page *page, enum migrate_mode mode)
+static int z3fold_migrate_folio(struct address_space *mapping,
+               struct folio *dst, struct folio *src, enum migrate_mode mode)
 {
+       struct page *newpage = &dst->page;
+       struct page *page = &src->page;
        struct z3fold_header *zhdr, *new_zhdr;
        struct z3fold_pool *pool;
        struct address_space *new_mapping;
@@ -1644,7 +1646,7 @@ static void z3fold_page_putback(struct page *page)
 
 static const struct address_space_operations z3fold_aops = {
        .isolate_page = z3fold_page_isolate,
-       .migratepage = z3fold_page_migrate,
+       .migrate_folio = z3fold_migrate_folio,
        .putback_page = z3fold_page_putback,
 };
 
-- 
2.35.1

Reply via email to