These patches extend the use of the generic file checkpoint operation to
non-extX filesystems which have lseek operations that ensure we can save
and restore the files for later use. Note that this does not include
things like FUSE, network filesystems, or pseudo-filesystem kernel
interfaces.
@@ -718,6 +718,7 @@ static const struct file_operations btrfs_ctl_fops = {
.unlocked_ioctl = btrfs_control_ioctl,
.compat_ioctl = btrfs_control_ioctl,
.owner = THIS_MODULE,
+ .checkpoint = generic_file_checkpoint,
};
const struct file_operations exofs_file_operations = {
.llseek = generic_file_llseek,
+ .checkpoint = generic_file_checkpoint,
.read = do_sync_read,
.write = do_sync_write,
.aio_read = generic_file_aio_read,
static const struct file_operations hostfs_file_fops = {
.llseek = generic_file_llseek,
+ .checkpoint = generic_file_checkpoint,
.read = do_sync_read,
.splice_read = generic_file_splice_read,
.aio_read = generic_file_aio_read,
@@ -430,6 +431,7 @@ static const struct file_operations hostfs_file_fops = {
static const struct file_operations hostfs_dir_fops = {
.llseek = generic_file_llseek,
+ .checkpoint = generic_file_checkpoint,
.readdir = hostfs_readdir,
.read = generic_read_dir,
};
const struct file_operations nilfs_file_operations = {
.llseek = generic_file_llseek,
+ .checkpoint = generic_file_checkpoint,
.read = do_sync_read,
.write = do_sync_write,
.aio_read = generic_file_aio_read,
static const struct vm_operations_struct nfs_file_vm_ops = {
.fault = filemap_fault,
.page_mkwrite = nfs_vm_page_mkwrite,
+#ifdef CONFIG_CHECKPOINT
+ .checkpoint = filemap_checkpoint,
+#endif
};