diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2011-02-02 14:39:40 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2011-02-02 14:39:40 +1100 |
commit | 6eaa0baa111f9f66cbe334be96982edaa4dfc7c9 (patch) | |
tree | 1f7373ceddb2abb649a1f7a6ebf151e167110b65 /fs/mpage.c | |
parent | 46c52033ffcc326a76e64ef43cfcce4bd8159ccc (diff) | |
parent | 5231e92e133d6db6681a4485b1794a01469ca9ad (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.c | 7 |
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? */ |