Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / fs / ext2 / file.c
index f5e8614..278602e 100644 (file)
@@ -39,7 +39,7 @@ 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,
@@ -53,8 +53,24 @@ struct file_operations ext2_file_operations = {
        .readv          = generic_file_readv,
        .writev         = generic_file_writev,
        .sendfile       = generic_file_sendfile,
+       .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,
+       .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,
 #ifdef CONFIG_EXT2_FS_XATTR
@@ -65,4 +81,5 @@ struct inode_operations ext2_file_inode_operations = {
 #endif
        .setattr        = ext2_setattr,
        .permission     = ext2_permission,
+       .sync_flags     = ext2_sync_flags,
 };