Commit 07950008 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle)
Browse files

mm/filemap: Hoist filler_t decision to the top of do_read_cache_folio()



Now that filler_t and aops->read_folio() have the same type, we can decide
which one to use at the top of the function, and cache ->read_folio in
the filler parameter.

Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
parent e9b5b23e
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -3487,6 +3487,9 @@ static struct folio *do_read_cache_folio(struct address_space *mapping,
{
	struct folio *folio;
	int err;

	if (!filler)
		filler = mapping->a_ops->read_folio;
repeat:
	folio = filemap_get_folio(mapping, index);
	if (!folio) {
@@ -3503,11 +3506,7 @@ static struct folio *do_read_cache_folio(struct address_space *mapping,
		}

filler:
		if (filler)
		err = filler(file, folio);
		else
			err = mapping->a_ops->read_folio(file, folio);

		if (err < 0) {
			folio_put(folio);
			return ERR_PTR(err);