Linux 3.10.71
[firefly-linux-kernel-4.4.55.git] / fs / ceph / addr.c
index 3e68ac1010407b23617cf1f6e019834d2eee1670..5da06f0209862182ecd91e9fb67633308ec0b529 100644 (file)
@@ -213,9 +213,13 @@ static int readpage_nounlock(struct file *filp, struct page *page)
        if (err < 0) {
                SetPageError(page);
                goto out;
-       } else if (err < PAGE_CACHE_SIZE) {
+       } else {
+               if (err < PAGE_CACHE_SIZE) {
                /* 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);