From: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> This marks ext[234] as being checkpointable. There will be many more to do this to, but this is a start. Changelog[ckpt-v19-rc3]: - Rebase to kernel 2.6.33 (ext2) Changelog[v1]: - [Serge Hallyn] Use filemap_checkpoint() in ext4_file_vm_ops Signed-off-by: Dave Hansen <dave@xxxxxxxxxxxxxxxxxx> Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> Acked-by: Serge E. Hallyn <serue@xxxxxxxxxx> Tested-by: Serge E. Hallyn <serue@xxxxxxxxxx> --- fs/ext2/dir.c | 1 + fs/ext2/file.c | 2 ++ fs/ext3/dir.c | 1 + fs/ext3/file.c | 1 + fs/ext4/dir.c | 1 + fs/ext4/file.c | 4 ++++ 6 files changed, 10 insertions(+), 0 deletions(-) diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c index 7516957..84c17f9 100644 --- a/fs/ext2/dir.c +++ b/fs/ext2/dir.c @@ -722,4 +722,5 @@ const struct file_operations ext2_dir_operations = { .compat_ioctl = ext2_compat_ioctl, #endif .fsync = ext2_fsync, + .checkpoint = generic_file_checkpoint, }; diff --git a/fs/ext2/file.c b/fs/ext2/file.c index 586e358..b38d7b9 100644 --- a/fs/ext2/file.c +++ b/fs/ext2/file.c @@ -75,6 +75,7 @@ const struct file_operations ext2_file_operations = { .fsync = ext2_fsync, .splice_read = generic_file_splice_read, .splice_write = generic_file_splice_write, + .checkpoint = generic_file_checkpoint, }; #ifdef CONFIG_EXT2_FS_XIP @@ -90,6 +91,7 @@ const struct file_operations ext2_xip_file_operations = { .open = generic_file_open, .release = ext2_release_file, .fsync = ext2_fsync, + .checkpoint = generic_file_checkpoint, }; #endif diff --git a/fs/ext3/dir.c b/fs/ext3/dir.c index 373fa90..65f98af 100644 --- a/fs/ext3/dir.c +++ b/fs/ext3/dir.c @@ -48,6 +48,7 @@ const struct file_operations ext3_dir_operations = { #endif .fsync = ext3_sync_file, /* BKL held */ .release = ext3_release_dir, + .checkpoint = generic_file_checkpoint, }; diff --git a/fs/ext3/file.c b/fs/ext3/file.c index 388bbdf..bcd9b88 100644 --- a/fs/ext3/file.c +++ b/fs/ext3/file.c @@ -67,6 +67,7 @@ const struct file_operations ext3_file_operations = { .fsync = ext3_sync_file, .splice_read = generic_file_splice_read, .splice_write = generic_file_splice_write, + .checkpoint = generic_file_checkpoint, }; const struct inode_operations ext3_file_inode_operations = { diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c index 9dc9316..f69404c 100644 --- a/fs/ext4/dir.c +++ b/fs/ext4/dir.c @@ -48,6 +48,7 @@ const struct file_operations ext4_dir_operations = { #endif .fsync = ext4_sync_file, .release = ext4_release_dir, + .checkpoint = generic_file_checkpoint, }; diff --git a/fs/ext4/file.c b/fs/ext4/file.c index 9630583..93a129b 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -84,6 +84,9 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov, static const struct vm_operations_struct ext4_file_vm_ops = { .fault = filemap_fault, .page_mkwrite = ext4_page_mkwrite, +#ifdef CONFIG_CHECKPOINT + .checkpoint = filemap_checkpoint, +#endif }; static int ext4_file_mmap(struct file *file, struct vm_area_struct *vma) @@ -146,6 +149,7 @@ const struct file_operations ext4_file_operations = { .fsync = ext4_sync_file, .splice_read = generic_file_splice_read, .splice_write = generic_file_splice_write, + .checkpoint = generic_file_checkpoint, }; const struct inode_operations ext4_file_inode_operations = { -- 1.6.3.3 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>