diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2011-01-20 16:28:45 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2011-01-20 16:28:45 +1100 |
commit | 480eba99d801fa2f281a41e18515293e0d7a2b6b (patch) | |
tree | f45933c4be1b8e54c2df3fa76d70fb21f37a09e7 /fs/mpage.c | |
parent | f441619f7b2cd6f1c8f21f95cbfe0e6b1188378c (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? */ |