if (result == SCAN_SUCCEED) {
                struct page *page, *tmp;
+               struct folio *folio;
 
                /*
                 * Replacing old pages with new one has succeeded, now we
                        index++;
                }
 
-               SetPageUptodate(hpage);
-               page_ref_add(hpage, HPAGE_PMD_NR - 1);
+               folio = page_folio(hpage);
+               folio_mark_uptodate(folio);
+               folio_ref_add(folio, HPAGE_PMD_NR - 1);
+
                if (is_shmem)
-                       set_page_dirty(hpage);
-               lru_cache_add(hpage);
+                       folio_mark_dirty(folio);
+               folio_add_lru(folio);
 
                /*
                 * Remove pte page tables, so we can re-fault the page as huge.