mm/filemap.c: convert page_endio() to use a folio

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>
This commit is contained in:
Shaoqin Huang 2022-08-09 10:32:56 +08:00 committed by Andrew Morton
parent 2ace36f0f5
commit 223ce4910b

View 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);