filemap: Handle AOP_TRUNCATED_PAGE in do_read_cache_folio()

If the call to filler() returns AOP_TRUNCATED_PAGE, we need to
retry the page cache lookup.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
This commit is contained in:
Matthew Wilcox (Oracle) 2022-05-12 17:47:06 -04:00
parent 9bc3e86938
commit 1dfa24a4bf

View File

@ -3524,8 +3524,10 @@ repeat:
folio_clear_error(folio);
filler:
err = filler(file, folio);
if (err < 0) {
if (err) {
folio_put(folio);
if (err == AOP_TRUNCATED_PAGE)
goto repeat;
return ERR_PTR(err);
}