|
@@ -210,9 +210,13 @@ static int readpage_nounlock(struct file *filp, struct page *page)
|
|
if (err < 0) {
|
|
if (err < 0) {
|
|
SetPageError(page);
|
|
SetPageError(page);
|
|
goto out;
|
|
goto out;
|
|
- } else if (err < PAGE_CACHE_SIZE) {
|
|
|
|
|
|
+ } else {
|
|
|
|
+ if (err < PAGE_CACHE_SIZE) {
|
|
/* zero fill remainder of page */
|
|
/* zero fill remainder of page */
|
|
- zero_user_segment(page, err, PAGE_CACHE_SIZE);
|
|
|
|
|
|
+ zero_user_segment(page, err, PAGE_CACHE_SIZE);
|
|
|
|
+ } else {
|
|
|
|
+ flush_dcache_page(page);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
SetPageUptodate(page);
|
|
SetPageUptodate(page);
|
|
|
|
|