diff options
Diffstat (limited to 'fs/ext2/file.c')
| -rw-r--r-- | fs/ext2/file.c | 17 | 
1 files changed, 9 insertions, 8 deletions
diff --git a/fs/ext2/file.c b/fs/ext2/file.c index 49eec9456c5..7c87b22a722 100644 --- a/fs/ext2/file.c +++ b/fs/ext2/file.c @@ -40,13 +40,13 @@ static int ext2_release_file (struct inode * inode, struct file * filp)  	return 0;  } -int ext2_fsync(struct file *file, int datasync) +int ext2_fsync(struct file *file, loff_t start, loff_t end, int datasync)  {  	int ret;  	struct super_block *sb = file->f_mapping->host->i_sb;  	struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping; -	ret = generic_file_fsync(file, datasync); +	ret = generic_file_fsync(file, start, end, datasync);  	if (ret == -EIO || test_and_clear_bit(AS_EIO, &mapping->flags)) {  		/* We don't really know where the IO error happened... */  		ext2_error(sb, __func__, @@ -62,10 +62,10 @@ int ext2_fsync(struct file *file, int datasync)   */  const struct file_operations ext2_file_operations = {  	.llseek		= generic_file_llseek, -	.read		= do_sync_read, -	.write		= do_sync_write, -	.aio_read	= generic_file_aio_read, -	.aio_write	= generic_file_aio_write, +	.read		= new_sync_read, +	.write		= new_sync_write, +	.read_iter	= generic_file_read_iter, +	.write_iter	= generic_file_write_iter,  	.unlocked_ioctl = ext2_ioctl,  #ifdef CONFIG_COMPAT  	.compat_ioctl	= ext2_compat_ioctl, @@ -75,7 +75,7 @@ const struct file_operations ext2_file_operations = {  	.release	= ext2_release_file,  	.fsync		= ext2_fsync,  	.splice_read	= generic_file_splice_read, -	.splice_write	= generic_file_splice_write, +	.splice_write	= iter_file_splice_write,  };  #ifdef CONFIG_EXT2_FS_XIP @@ -102,6 +102,7 @@ const struct inode_operations ext2_file_inode_operations = {  	.removexattr	= generic_removexattr,  #endif  	.setattr	= ext2_setattr, -	.check_acl	= ext2_check_acl, +	.get_acl	= ext2_get_acl, +	.set_acl	= ext2_set_acl,  	.fiemap		= ext2_fiemap,  };  | 
