X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fext2%2Ffile.c;h=07ccad5f0514730a4d5cbf06927112c1229ab11b;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=713fb9b07545f2c8975d04c947113fe98c25effb;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/fs/ext2/file.c b/fs/ext2/file.c index 713fb9b07..07ccad5f0 100644 --- a/fs/ext2/file.c +++ b/fs/ext2/file.c @@ -39,28 +39,52 @@ static int ext2_release_file (struct inode * inode, struct file * filp) * We have mostly NULL's here: the current defaults are ok for * the ext2 filesystem. */ -struct file_operations ext2_file_operations = { +const struct file_operations ext2_file_operations = { .llseek = generic_file_llseek, - .read = generic_file_read, - .write = generic_file_write, + .read = do_sync_read, + .write = do_sync_write, .aio_read = generic_file_aio_read, .aio_write = generic_file_aio_write, .ioctl = ext2_ioctl, +#ifdef CONFIG_COMPAT + .compat_ioctl = ext2_compat_ioctl, +#endif .mmap = generic_file_mmap, .open = generic_file_open, .release = ext2_release_file, .fsync = ext2_sync_file, - .readv = generic_file_readv, - .writev = generic_file_writev, .sendfile = generic_file_sendfile, + .sendpage = generic_file_sendpage, + .splice_read = generic_file_splice_read, + .splice_write = generic_file_splice_write, }; +#ifdef CONFIG_EXT2_FS_XIP +const struct file_operations ext2_xip_file_operations = { + .llseek = generic_file_llseek, + .read = xip_file_read, + .write = xip_file_write, + .ioctl = ext2_ioctl, +#ifdef CONFIG_COMPAT + .compat_ioctl = ext2_compat_ioctl, +#endif + .mmap = xip_file_mmap, + .open = generic_file_open, + .release = ext2_release_file, + .fsync = ext2_sync_file, + .sendfile = xip_file_sendfile, +}; +#endif + struct inode_operations ext2_file_inode_operations = { .truncate = ext2_truncate, - .setxattr = ext2_setxattr, - .getxattr = ext2_getxattr, +#ifdef CONFIG_EXT2_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext2_listxattr, - .removexattr = ext2_removexattr, + .removexattr = generic_removexattr, +#endif .setattr = ext2_setattr, .permission = ext2_permission, + .sync_flags = ext2_sync_flags, };