summaryrefslogtreecommitdiff
path: root/fs/mpage.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2011-01-20 16:28:45 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2011-01-20 16:28:45 +1100
commit480eba99d801fa2f281a41e18515293e0d7a2b6b (patch)
treef45933c4be1b8e54c2df3fa76d70fb21f37a09e7 /fs/mpage.c
parentf441619f7b2cd6f1c8f21f95cbfe0e6b1188378c (diff)
parent5231e92e133d6db6681a4485b1794a01469ca9ad (diff)
Merge remote branch 'cleancache/linux-next'
Conflicts: fs/ocfs2/super.c fs/super.c include/linux/fs.h mm/Kconfig
Diffstat (limited to 'fs/mpage.c')
-rw-r--r--fs/mpage.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/mpage.c b/fs/mpage.c
index d78455a81ec9..7d0e66686207 100644
--- a/fs/mpage.c
+++ b/fs/mpage.c
@@ -27,6 +27,7 @@
#include <linux/writeback.h>
#include <linux/backing-dev.h>
#include <linux/pagevec.h>
+#include <linux/cleancache.h>
/*
* I/O completion handler for multipage BIOs.
@@ -271,6 +272,12 @@ do_mpage_readpage(struct bio *bio, struct page *page, unsigned nr_pages,
SetPageMappedToDisk(page);
}
+ if (fully_mapped && blocks_per_page == 1 && !PageUptodate(page) &&
+ cleancache_get_page(page) == 0) {
+ SetPageUptodate(page);
+ goto confused;
+ }
+
/*
* This page will go to BIO. Do we need to send this BIO off first?
*/