diff --git a/mm/filemap.c b/mm/filemap.c index a30dbf93de992..471f8091d782a 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2774,6 +2774,14 @@ filler: unlock_page(page); goto out; } + + /* + * A previous I/O error may have been due to temporary + * failures. + * Clear page error before actual read, PG_error will be + * set again if read page fails. + */ + ClearPageError(page); goto filler; out: