--- fuse-2.7.0/kernel/dev.c 2007-05-03 13:59:50.000000000 +0300 +++ fuse-2.7.0-mm/kernel/dev.c 2007-09-15 23:42:40.000000000 +0300 @@ -1093,9 +1093,15 @@ int __init fuse_dev_init(void) { int err = -ENOMEM; +#ifdef KERNEL_2_6_23_PLUS fuse_req_cachep = kmem_cache_create("fuse_request", sizeof(struct fuse_req), - 0, 0, NULL, NULL); + 0, 0, NULL); +#else + fuse_req_cachep = kmem_cache_create("fuse_request", + sizeof(struct fuse_req), + 0, 0, NULL, NULL); +#endif if (!fuse_req_cachep) goto out; --- fuse-2.7.0/kernel/file.c 2007-07-02 14:32:15.000000000 +0300 +++ fuse-2.7.0-mm/kernel/file.c 2007-09-15 23:39:52.000000000 +0300 @@ -865,7 +865,9 @@ .release = fuse_release, .fsync = fuse_fsync, .lock = fuse_file_lock, +#ifndef KERNEL_2_6_23_PLUS .sendfile = generic_file_sendfile, +#endif }; static struct file_operations fuse_direct_io_file_operations = { --- fuse-2.7.0/kernel/fuse_i.h 2007-07-02 14:32:15.000000000 +0300 +++ fuse-2.7.0-mm/kernel/fuse_i.h 2007-09-15 23:39:01.000000000 +0300 @@ -45,6 +45,10 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22) # define KERNEL_2_6_22_PLUS #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) +# define KERNEL_2_6_23_PLUS +#endif + #if defined(__arm__) && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) #define DCACHE_BUG --- fuse-2.7.0/kernel/inode.c 2007-07-02 14:32:15.000000000 +0300 +++ fuse-2.7.0-mm/kernel/inode.c 2007-09-15 23:42:24.000000000 +0300 @@ -861,10 +861,17 @@ if (err) goto out_unreg; +#ifdef KERNEL_2_6_23_PLUS fuse_inode_cachep = kmem_cache_create("fuse_inode", sizeof(struct fuse_inode), 0, SLAB_HWCACHE_ALIGN, - fuse_inode_init_once, NULL); + fuse_inode_init_once); +#else + fuse_inode_cachep = kmem_cache_create("fuse_inode", + sizeof(struct fuse_inode), + 0, SLAB_HWCACHE_ALIGN, + fuse_inode_init_once, NULL); +#endif err = -ENOMEM; if (!fuse_inode_cachep) goto out_unreg2;