diff -wbBur cdfs-2.6.27/cddata.c cdfs-2.6.27.my/cddata.c
--- cdfs-2.6.27/cddata.c	2009-12-21 17:04:03.000000000 +0300
+++ cdfs-2.6.27.my/cddata.c	2011-07-24 21:18:44.000000000 +0400
@@ -83,7 +83,7 @@
 #else
   .mmap             = generic_file_readonly_mmap,
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-  .sendfile         = generic_file_sendfile
+//  .sendfile         = generic_file_sendfile
 #else
   .splice_read      = generic_file_splice_read
 #endif
diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c
--- cdfs-2.6.27/root.c	2009-12-21 16:38:31.000000000 +0300
+++ cdfs-2.6.27.my/root.c	2011-07-25 13:16:59.000000000 +0400
@@ -32,19 +30,14 @@
  *	Added code to transform /proc/cdfs into a sequential synthetic file.  *
  *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 
-
 #include <linux/seq_file.h>
-
-#ifndef OLD_KERNEL
 #include <linux/statfs.h>
-#endif
+#include <linux/sched.h>
 
 extern struct seq_operations cdfs_operations;
 extern struct _track_info *dummy_track_p;
 
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24) 
 struct inode *cdfs_iget(struct super_block *sp, unsigned long ino); 
-#endif
 /*============================================================================*
  *  cdfs_open()                                                               *
  *	Description:                                                          *
@@ -115,15 +108,8 @@
 
 /********************************************************************/
 
-#ifdef OLD_KERNEL
-static struct super_block * cdfs_mount(struct super_block *sb, void *data, int silent){
-  kdev_t dev = sb->s_dev;
-  int i, j, t;
-  struct cdrom_tochdr  hdr;
-#else
 static int cdfs_fill_super(struct super_block *sb, void *data, int silent){
   int i, t;
-#endif
   struct cdrom_tocentry   entry;   
   int no_audio=0, no_data=0;
   cd * this_cd;
@@ -131,24 +117,13 @@
 
   PRINT("cdfs_mount\n");
 
-#ifdef OLD_KERNEL
-  MOD_INC_USE_COUNT;
-
-  set_blocksize(dev, CD_FRAMESIZE);  // voor bread met ide-cd
-#else
   sb_set_blocksize(sb, CD_FRAMESIZE);  // voor bread met ide-cd
-#endif
 
   sb->s_blocksize = CD_FRAMESIZE;
   sb->s_blocksize_bits = 11;
 
   if (!(this_cd = cdfs_info(sb) = kmalloc(sizeof(cd), GFP_KERNEL))){
-#ifdef OLD_KERNEL
-    MOD_DEC_USE_COUNT;     
-    return NULL;
-#else
     return -ENOMEM;
-#endif
   }
 
   this_cd->mode           = MODE;
@@ -160,13 +135,8 @@
 
   // Initialize cache for maximum sector size
   if (!(this_cd->cache = kmalloc(CD_FRAMESIZE_RAWER*CACHE_SIZE, GFP_KERNEL))) {
-#ifdef OLD_KERNEL
-    MOD_DEC_USE_COUNT;
-    return NULL;
-#else
     kfree(cdfs_info(sb));
     return -ENOMEM;
-#endif
   }
 
   // Cache is still invalid
@@ -183,23 +153,13 @@
   if (this_cd->toc_scsi){
     if (cdfs_toc_read_full(sb)){
       printk("TOC read failed\n");
-#ifdef OLD_KERNEL
-      MOD_DEC_USE_COUNT;
-      return NULL;
-#else
       goto invalid;
-#endif
     }
   } else {
     //if (cdfs_ioctl(sb, CDROMREADTOCHDR, (unsigned long)&hdr)){
     if (cdfs_toc_read(sb)){
       printk("cdfs_toc_read failed\n");
-#ifdef OLD_KERNEL
-      MOD_DEC_USE_COUNT;
-      return NULL;
-#else
       goto invalid;
-#endif
     }
   }
 
@@ -365,11 +325,7 @@
   sb->s_flags |= MS_RDONLY;
   sb->s_op     = &cdfs_ops;
   /* always get inode status */
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24)
   retinode=cdfs_iget(sb, 0);
-#else
-  retinode=iget(sb, 0);
-#endif
   if ( IS_ERR(retinode) )
     return PTR_ERR(retinode);
 
@@ -379,16 +335,12 @@
 
   cdfs_proc_cd = this_cd;
 
-#ifdef OLD_KERNEL
-  return sb;
-#else
   return 0;
 
 invalid:
   kfree(this_cd->cache);
   kfree(cdfs_info(sb));
   return -EINVAL;
-#endif
 }
 
 /************************************************************************/
@@ -410,27 +362,12 @@
   // Remove /proc entry
   cdfs_proc_cd = NULL; 
   kfree(cdfs_info(sb));
-
-#ifdef OLD_KERNEL
-  MOD_DEC_USE_COUNT;
-#endif
-
 }
 
 /************************************************************************/
 
-#ifdef OLD_KERNEL
-static int cdfs_statfs(struct super_block *sb, struct statfs *buf) {
-  cd * this_cd = cdfs_info(sb);
-#else
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
 static int cdfs_statfs(struct dentry *d, struct kstatfs *buf) {
   cd * this_cd = cdfs_info(d->d_sb);
-#else
-static int cdfs_statfs(struct super_block *sb, struct kstatfs *buf) {
-  cd * this_cd = cdfs_info(sb);
-#endif
-#endif
   PRINT("rmfs_statfs\n");
 
   buf->f_type    = CDFS_MAGIC;
@@ -460,11 +397,7 @@
 
 /************************************************************************/
 
-#ifdef OLD_KERNEL
-static struct dentry * cdfs_lookup(struct inode *dir, struct dentry *dentry){
-#else
 static struct dentry * cdfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd){
-#endif
   struct inode * inode;
   int i;
   cd * this_cd = cdfs_info(dir->i_sb);
@@ -480,15 +413,9 @@
 /* Use goto and read inode with iget()/cdfs_iget() */
 /* Thanks to David Howells for patch and Master class in his mail */
 found:
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24)
 inode = cdfs_iget(dir->i_sb, i);
 if (IS_ERR(inode))
   return ERR_CAST(inode);
-#else
-  inode = iget(dir->i_sb, i);
-  if (!inode)
-    return ERR_PTR(-ENOMEM);
-#endif
 d_add(dentry, inode);
 return NULL;
 }
@@ -529,12 +456,8 @@
     i->i_fop   = &cdfs_dir_operations;
   } else {                                          /* file */
     i->i_size  = this_cd->track[i->i_ino].size;
-#ifdef OLD_KERNEL
-    i->i_mtime = i->i_atime = i->i_ctime = this_cd->track[i->i_ino].time;
-#else
     i->i_mtime.tv_sec = i->i_atime.tv_sec = i->i_ctime.tv_sec = this_cd->track[i->i_ino].time;
     i->i_mtime.tv_nsec = i->i_atime.tv_nsec = i->i_ctime.tv_nsec = 0;
-#endif
     i->i_mode  = this_cd->mode;
     if ((this_cd->track[i->i_ino].type==DATA) && this_cd->track[i->i_ino].iso_size) {
       i->i_fop          = &cdfs_cddata_file_operations; 
@@ -587,33 +510,21 @@
 /******************************************************************/
 
 static struct super_operations cdfs_ops = {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
-  .read_inode = cdfs_read_inode,
-#endif
   .put_super  = cdfs_umount,
   .statfs     = cdfs_statfs
 };
 
-#ifdef OLD_KERNEL
-static DECLARE_FSTYPE_DEV(cdfs_fs_type, FSNAME, cdfs_mount);
-#else
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
-static int cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, struct vfsmount *mnt) {
-  return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super, mnt);
-#else
-static struct super_block *cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) {
-  return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super);
-#endif
-}
+//static int cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, struct vfsmount *mnt) {
+//  return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super, mnt);
+//}
 
 static struct file_system_type cdfs_fs_type = {
   .owner    = THIS_MODULE,
   .name     = "cdfs",
-  .get_sb   = cdfs_get_sb,
+//  .get_sb   = cdfs_get_sb,
   .kill_sb  = kill_block_super,
   .fs_flags = FS_REQUIRES_DEV
 };
-#endif
 
 /******************************************************/
 
@@ -621,10 +532,6 @@
 MODULE_DESCRIPTION("CDfs: a CD filesystem");
 MODULE_LICENSE("GPL"); 
 
-#ifdef OLD_KERNEL
-EXPORT_NO_SYMBOLS;
-#endif
-
 /******************************************************************/
 
 static int __init cdfs_init(void) {
@@ -676,11 +583,7 @@
   
   if (!options) return;
   
-#ifdef OLD_KERNEL
-  for (this_char = strtok(options,","); this_char; this_char = strtok(NULL,",")) {
-#else
   while ((this_char = strsep(&options,",")) != NULL) {
-#endif
     
     if (!strcmp(this_char,"single")) 
       this_cd->single=TRUE;