#ifdef CONFIG_COMPAT
        .compat_ioctl   = compat_blkdev_ioctl,
 #endif
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
        .fallocate      = blkdev_fallocate,
 };
 
        .mmap           = generic_file_mmap,
        .fsync          = generic_file_fsync,
        .write_iter     = generic_file_write_iter,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
 };
 
 const struct inode_operations adfs_file_inode_operations = {
 
        .open           = affs_file_open,
        .release        = affs_file_release,
        .fsync          = affs_file_fsync,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
 };
 
 const struct inode_operations affs_file_inode_operations = {
 
        if (ret < 0)
                return ret;
 
-       return generic_file_splice_read(in, ppos, pipe, len, flags);
+       return filemap_splice_read(in, ppos, pipe, len, flags);
 }
 
        .read_iter      = generic_file_read_iter,
        .write_iter     = generic_file_write_iter,
        .mmap           = generic_file_mmap,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
 };
 
 static int bfs_move_block(unsigned long from, unsigned long to,
 
 const struct file_operations btrfs_file_operations = {
        .llseek         = btrfs_file_llseek,
        .read_iter      = btrfs_file_read_iter,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .write_iter     = btrfs_file_write_iter,
        .splice_write   = iter_file_splice_write,
        .mmap           = btrfs_file_mmap,
 
 static const struct file_operations cramfs_physmem_fops = {
        .llseek                 = generic_file_llseek,
        .read_iter              = generic_file_read_iter,
-       .splice_read            = generic_file_splice_read,
+       .splice_read            = filemap_splice_read,
        .mmap                   = cramfs_physmem_mmap,
 #ifndef CONFIG_MMU
        .get_unmapped_area      = cramfs_physmem_get_unmapped_area,
 
 /*
  * ecryptfs_splice_read_update_atime
  *
- * generic_file_splice_read updates the atime of upper layer inode.  But, it
+ * filemap_splice_read updates the atime of upper layer inode.  But, it
  * doesn't give us a chance to update the atime of the lower layer inode.  This
  * function is a wrapper to generic_file_read.  It updates the atime of the
  * lower level inode if generic_file_read returns without any errors. This is
        ssize_t rc;
        const struct path *path;
 
-       rc = generic_file_splice_read(in, ppos, pipe, len, flags);
+       rc = filemap_splice_read(in, ppos, pipe, len, flags);
        if (rc >= 0) {
                path = ecryptfs_dentry_to_lower_path(in->f_path.dentry);
                touch_atime(path);
 
        .llseek         = generic_file_llseek,
        .read_iter      = erofs_file_read_iter,
        .mmap           = erofs_file_mmap,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
 };
 
 #endif
        .mmap           = generic_file_mmap,
        .fsync          = exfat_file_fsync,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
 };
 
 
        .release        = ext2_release_file,
        .fsync          = ext2_fsync,
        .get_unmapped_area = thp_get_unmapped_area,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
 };
 
 
 
        if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))
                return -EIO;
-       return generic_file_splice_read(in, ppos, pipe, len, flags);
+       return filemap_splice_read(in, ppos, pipe, len, flags);
 }
 
 /*
 
        .unlocked_ioctl = fat_generic_ioctl,
        .compat_ioctl   = compat_ptr_ioctl,
        .fsync          = fat_file_fsync,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
        .fallocate      = fat_fallocate,
 };
 
        .lock           = fuse_file_lock,
        .get_unmapped_area = thp_get_unmapped_area,
        .flock          = fuse_file_flock,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
        .unlocked_ioctl = fuse_file_ioctl,
        .compat_ioctl   = fuse_file_compat_ioctl,
 
        .fsync          = gfs2_fsync,
        .lock           = gfs2_lock,
        .flock          = gfs2_flock,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = gfs2_file_splice_write,
        .setlease       = simple_nosetlease,
        .fallocate      = gfs2_fallocate,
        .open           = gfs2_open,
        .release        = gfs2_release,
        .fsync          = gfs2_fsync,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = gfs2_file_splice_write,
        .setlease       = generic_setlease,
        .fallocate      = gfs2_fallocate,
 
        .read_iter      = generic_file_read_iter,
        .write_iter     = generic_file_write_iter,
        .mmap           = generic_file_mmap,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .fsync          = hfs_file_fsync,
        .open           = hfs_file_open,
        .release        = hfs_file_release,
 
        .read_iter      = generic_file_read_iter,
        .write_iter     = generic_file_write_iter,
        .mmap           = generic_file_mmap,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .fsync          = hfsplus_file_fsync,
        .open           = hfsplus_file_open,
        .release        = hfsplus_file_release,
 
 
 static const struct file_operations hostfs_file_fops = {
        .llseek         = generic_file_llseek,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
        .read_iter      = generic_file_read_iter,
        .write_iter     = generic_file_write_iter,
 
        .mmap           = generic_file_mmap,
        .release        = hpfs_file_release,
        .fsync          = hpfs_file_fsync,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .unlocked_ioctl = hpfs_ioctl,
        .compat_ioctl   = compat_ptr_ioctl,
 };
 
        .unlocked_ioctl=jffs2_ioctl,
        .mmap =         generic_file_readonly_mmap,
        .fsync =        jffs2_fsync,
-       .splice_read =  generic_file_splice_read,
+       .splice_read =  filemap_splice_read,
        .splice_write = iter_file_splice_write,
 };
 
 
        .read_iter      = generic_file_read_iter,
        .write_iter     = generic_file_write_iter,
        .mmap           = generic_file_mmap,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
        .fsync          = jfs_fsync,
        .release        = jfs_release,
 
        .write_iter     = generic_file_write_iter,
        .mmap           = generic_file_mmap,
        .fsync          = generic_file_fsync,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
 };
 
 static int minix_setattr(struct mnt_idmap *idmap,
 
        .open           = generic_file_open,
        /* .release     = nilfs_release_file, */
        .fsync          = nilfs_sync_file,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
 };
 
 
 #endif /* NTFS_RW */
        .mmap           = generic_file_mmap,
        .open           = ntfs_file_open,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
 };
 
 const struct inode_operations ntfs_file_inode_ops = {
 
                return -EOPNOTSUPP;
        }
 
-       return generic_file_splice_read(in, ppos, pipe, len, flags);
+       return filemap_splice_read(in, ppos, pipe, len, flags);
 }
 
 /*
 
        .compat_ioctl   = ocfs2_compat_ioctl,
 #endif
        .flock          = ocfs2_flock,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
        .fallocate      = ocfs2_fallocate,
        .remap_file_range = ocfs2_remap_file_range,
 
        .write_iter = generic_file_write_iter,
        .mmap = generic_file_mmap,
        .fsync = generic_file_fsync,
-       .splice_read = generic_file_splice_read,
+       .splice_read = filemap_splice_read,
 };
 
 static int omfs_setattr(struct mnt_idmap *idmap,
 
        .write_iter     = generic_file_write_iter,
        .mmap           = generic_file_mmap,
        .fsync          = noop_fsync,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
        .llseek         = generic_file_llseek,
        .get_unmapped_area      = ramfs_mmu_get_unmapped_area,
 
        .read_iter              = generic_file_read_iter,
        .write_iter             = generic_file_write_iter,
        .fsync                  = noop_fsync,
-       .splice_read            = generic_file_splice_read,
+       .splice_read            = filemap_splice_read,
        .splice_write           = iter_file_splice_write,
        .llseek                 = generic_file_llseek,
 };
 
        .llseek         = generic_file_llseek,
        .read_iter      = generic_file_read_iter,
        .mmap           = generic_file_readonly_mmap,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
 };
 
 EXPORT_SYMBOL(generic_ro_fops);
 
        .fsync = reiserfs_sync_file,
        .read_iter = generic_file_read_iter,
        .write_iter = generic_file_write_iter,
-       .splice_read = generic_file_splice_read,
+       .splice_read = filemap_splice_read,
        .splice_write = iter_file_splice_write,
        .llseek = generic_file_llseek,
 };
 
 const struct file_operations romfs_ro_fops = {
        .llseek                 = generic_file_llseek,
        .read_iter              = generic_file_read_iter,
-       .splice_read            = generic_file_splice_read,
+       .splice_read            = filemap_splice_read,
        .mmap                   = romfs_mmap,
        .get_unmapped_area      = romfs_get_unmapped_area,
        .mmap_capabilities      = romfs_mmap_capabilities,
 
        .write_iter     = generic_file_write_iter,
        .mmap           = generic_file_mmap,
        .fsync          = generic_file_fsync,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
 };
 
 static int sysv_setattr(struct mnt_idmap *idmap,
 
        .mmap           = ubifs_file_mmap,
        .fsync          = ubifs_fsync,
        .unlocked_ioctl = ubifs_ioctl,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
        .splice_write   = iter_file_splice_write,
        .open           = fscrypt_file_open,
 #ifdef CONFIG_COMPAT
 
        .write_iter             = udf_file_write_iter,
        .release                = udf_release_file,
        .fsync                  = generic_file_fsync,
-       .splice_read            = generic_file_splice_read,
+       .splice_read            = filemap_splice_read,
        .splice_write           = iter_file_splice_write,
        .llseek                 = generic_file_llseek,
 };
 
        .mmap           = generic_file_mmap,
        .open           = generic_file_open,
        .fsync          = generic_file_fsync,
-       .splice_read    = generic_file_splice_read,
+       .splice_read    = filemap_splice_read,
 };
 
        .open = vboxsf_file_open,
        .release = vboxsf_file_release,
        .fsync = noop_fsync,
-       .splice_read = generic_file_splice_read,
+       .splice_read = filemap_splice_read,
 };
 
 const struct inode_operations vboxsf_reg_iops = {