diff --git a/mm/filemap.c b/mm/filemap.c index 3064b7b79e98..46e3f8a11b2a 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1120,6 +1120,12 @@ page_not_up_to_date_locked: } readpage: + /* + * A previous I/O error may have been due to temporary + * failures, eg. multipath errors. + * PG_error will be set again if readpage fails. + */ + ClearPageError(page); /* Start the actual read. The read will unlock the page. */ error = mapping->a_ops->readpage(filp, page);