Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem: xen: cleancache shim to Xen Transcendent Memory ocfs2: add cleancache support ext4: add cleancache support btrfs: add cleancache support ext3: add cleancache support mm/fs: add hooks to support cleancache mm: cleancache core ops functions and config fs: add field to superblock to support cleancache mm/fs: cleancache documentation Fix up trivial conflict in fs/btrfs/extent_io.c due to includes
This commit is contained in:
@ -11,6 +11,7 @@
|
||||
#include <linux/writeback.h>
|
||||
#include <linux/pagevec.h>
|
||||
#include <linux/prefetch.h>
|
||||
#include <linux/cleancache.h>
|
||||
#include "extent_io.h"
|
||||
#include "extent_map.h"
|
||||
#include "compat.h"
|
||||
@ -2016,6 +2017,13 @@ static int __extent_read_full_page(struct extent_io_tree *tree,
|
||||
|
||||
set_page_extent_mapped(page);
|
||||
|
||||
if (!PageUptodate(page)) {
|
||||
if (cleancache_get_page(page) == 0) {
|
||||
BUG_ON(blocksize != PAGE_SIZE);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
end = page_end;
|
||||
while (1) {
|
||||
lock_extent(tree, start, end, GFP_NOFS);
|
||||
@ -2149,6 +2157,7 @@ static int __extent_read_full_page(struct extent_io_tree *tree,
|
||||
cur = cur + iosize;
|
||||
page_offset += iosize;
|
||||
}
|
||||
out:
|
||||
if (!nr) {
|
||||
if (!PageError(page))
|
||||
SetPageUptodate(page);
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include <linux/miscdevice.h>
|
||||
#include <linux/magic.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/cleancache.h>
|
||||
#include "compat.h"
|
||||
#include "ctree.h"
|
||||
#include "disk-io.h"
|
||||
@ -624,6 +625,7 @@ static int btrfs_fill_super(struct super_block *sb,
|
||||
sb->s_root = root_dentry;
|
||||
|
||||
save_mount_options(sb, data);
|
||||
cleancache_init_fs(sb);
|
||||
return 0;
|
||||
|
||||
fail_close:
|
||||
|
Reference in New Issue
Block a user