mm/filemap.c: convert page_endio() to use a folio
authorShaoqin Huang <shaoqin.huang@intel.com>
Tue, 9 Aug 2022 02:32:56 +0000 (10:32 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 12 Sep 2022 03:25:48 +0000 (20:25 -0700)
Replace three calls to compound_head() with one.

Link: https://lkml.kernel.org/r/20220809023256.178194-1-shaoqin.huang@intel.com
Signed-off-by: Shaoqin Huang <shaoqin.huang@intel.com>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/filemap.c

index 1580033..cb740a6 100644 (file)
@@ -1633,24 +1633,26 @@ EXPORT_SYMBOL(folio_end_writeback);
  */
 void page_endio(struct page *page, bool is_write, int err)
 {
+       struct folio *folio = page_folio(page);
+
        if (!is_write) {
                if (!err) {
-                       SetPageUptodate(page);
+                       folio_mark_uptodate(folio);
                } else {
-                       ClearPageUptodate(page);
-                       SetPageError(page);
+                       folio_clear_uptodate(folio);
+                       folio_set_error(folio);
                }
-               unlock_page(page);
+               folio_unlock(folio);
        } else {
                if (err) {
                        struct address_space *mapping;
 
-                       SetPageError(page);
-                       mapping = page_mapping(page);
+                       folio_set_error(folio);
+                       mapping = folio_mapping(folio);
                        if (mapping)
                                mapping_set_error(mapping, err);
                }
-               end_page_writeback(page);
+               folio_end_writeback(folio);
        }
 }
 EXPORT_SYMBOL_GPL(page_endio);