diff options
Diffstat (limited to 'mm/filemap.c')
-rw-r--r-- | mm/filemap.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 239d36163bbe..1e6a7d34874f 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -1461,6 +1461,11 @@ page_not_uptodate: | |||
1461 | */ | 1461 | */ |
1462 | ClearPageError(page); | 1462 | ClearPageError(page); |
1463 | error = mapping->a_ops->readpage(file, page); | 1463 | error = mapping->a_ops->readpage(file, page); |
1464 | if (!error) { | ||
1465 | wait_on_page_locked(page); | ||
1466 | if (!PageUptodate(page)) | ||
1467 | error = -EIO; | ||
1468 | } | ||
1464 | page_cache_release(page); | 1469 | page_cache_release(page); |
1465 | 1470 | ||
1466 | if (!error || error == AOP_TRUNCATED_PAGE) | 1471 | if (!error || error == AOP_TRUNCATED_PAGE) |
@@ -1655,7 +1660,7 @@ int should_remove_suid(struct dentry *dentry) | |||
1655 | } | 1660 | } |
1656 | EXPORT_SYMBOL(should_remove_suid); | 1661 | EXPORT_SYMBOL(should_remove_suid); |
1657 | 1662 | ||
1658 | int __remove_suid(struct dentry *dentry, int kill) | 1663 | static int __remove_suid(struct dentry *dentry, int kill) |
1659 | { | 1664 | { |
1660 | struct iattr newattrs; | 1665 | struct iattr newattrs; |
1661 | 1666 | ||