do_generic_file_read: clear page errors when issuing a fresh read of the page
[safe/jmp/linux-2.6] / mm / filemap.c
index 88d7196..35e12d1 100644 (file)
@@ -1105,6 +1105,12 @@ page_not_up_to_date_locked:
                }
 
 readpage:
                }
 
 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);
 
                /* Start the actual read. The read will unlock the page. */
                error = mapping->a_ops->readpage(filp, page);