mm/memory-failure: add some folio conversions to unpoison_memory
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Fri, 12 Apr 2024 19:35:06 +0000 (20:35 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 6 May 2024 00:53:46 +0000 (17:53 -0700)
Some of these folio APIs didn't exist when the unpoison_memory()
conversion was done originally.

Link: https://lkml.kernel.org/r/20240412193510.2356957-10-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Miaohe Lin <linmiaohe@huawei.com>
Reviewed-by: Jane Chu <jane.chu@oracle.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Oscar Salvador <osalvador@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memory-failure.c

index 130d132d075d7f9bed4f31a959c828e70ab0ba14..521e0efd08e7d07babf312f57e3aad224a8e4eae 100644 (file)
@@ -2556,8 +2556,8 @@ int unpoison_memory(unsigned long pfn)
                goto unlock_mutex;
        }
 
-       if (folio_test_slab(folio) || PageTable(&folio->page) ||
-           folio_test_reserved(folio) || PageOffline(&folio->page))
+       if (folio_test_slab(folio) || folio_test_pgtable(folio) ||
+           folio_test_reserved(folio) || folio_test_offline(folio))
                goto unlock_mutex;
 
        /*
@@ -2578,7 +2578,7 @@ int unpoison_memory(unsigned long pfn)
 
        ghp = get_hwpoison_page(p, MF_UNPOISON);
        if (!ghp) {
-               if (PageHuge(p)) {
+               if (folio_test_hugetlb(folio)) {
                        huge = true;
                        count = folio_free_raw_hwp(folio, false);
                        if (count == 0)
@@ -2594,7 +2594,7 @@ int unpoison_memory(unsigned long pfn)
                                         pfn, &unpoison_rs);
                }
        } else {
-               if (PageHuge(p)) {
+               if (folio_test_hugetlb(folio)) {
                        huge = true;
                        count = folio_free_raw_hwp(folio, false);
                        if (count == 0) {