Commit 223ce491 authored by Shaoqin Huang's avatar Shaoqin Huang Committed by Andrew Morton
Browse files

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: default avatarShaoqin Huang <shaoqin.huang@intel.com>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 2ace36f0
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -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);