X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=mm%2Ffilemap.c;h=1e6a7d34874fd31f3e9549c7540a4ce28c2402c6;hb=754cdd4aba225b74dcc35cc384aeb0c42b505e8b;hp=2dead9adf8b76806e66ac1b0169510773be58e14;hpb=7a34912d90c17a90d9fad12c4c51833b4e70707b;p=linux-2.6 diff --git a/mm/filemap.c b/mm/filemap.c index 2dead9adf8..1e6a7d3487 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1461,6 +1461,11 @@ page_not_uptodate: */ ClearPageError(page); error = mapping->a_ops->readpage(file, page); + if (!error) { + wait_on_page_locked(page); + if (!PageUptodate(page)) + error = -EIO; + } page_cache_release(page); if (!error || error == AOP_TRUNCATED_PAGE)