aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2007-09-18 13:00:33 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2007-09-18 13:00:33 +0000
commit68a9657062996e40c6d59746dd760374403e07e4 (patch)
treeda780043d0a4165334d17bb72761276aacec93f6 /kernel
parent8834fbf05b2f3a2fb46a3792c3912ece50ccfeab (diff)
downloadandroid_external_fuse-68a9657062996e40c6d59746dd760374403e07e4.tar.gz
android_external_fuse-68a9657062996e40c6d59746dd760374403e07e4.tar.bz2
android_external_fuse-68a9657062996e40c6d59746dd760374403e07e4.zip
Fix kernel module compilation for 2.6.23
Diffstat (limited to 'kernel')
-rw-r--r--kernel/dev.c6
-rw-r--r--kernel/file.c4
-rw-r--r--kernel/fuse_i.h3
-rw-r--r--kernel/inode.c8
4 files changed, 21 insertions, 0 deletions
diff --git a/kernel/dev.c b/kernel/dev.c
index aaef082..60a6bbf 100644
--- a/kernel/dev.c
+++ b/kernel/dev.c
@@ -1093,9 +1093,15 @@ static struct miscdevice fuse_miscdevice = {
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);
+#else
fuse_req_cachep = kmem_cache_create("fuse_request",
sizeof(struct fuse_req),
0, 0, NULL, NULL);
+#endif
if (!fuse_req_cachep)
goto out;
diff --git a/kernel/file.c b/kernel/file.c
index dd198d0..16a2d02 100644
--- a/kernel/file.c
+++ b/kernel/file.c
@@ -865,7 +865,11 @@ static struct file_operations fuse_file_operations = {
.release = fuse_release,
.fsync = fuse_fsync,
.lock = fuse_file_lock,
+#ifdef KERNEL_2_6_23_PLUS
+ .splice_read = generic_file_splice_read,
+#else
.sendfile = generic_file_sendfile,
+#endif
};
static struct file_operations fuse_direct_io_file_operations = {
diff --git a/kernel/fuse_i.h b/kernel/fuse_i.h
index d226164..f9803b4 100644
--- a/kernel/fuse_i.h
+++ b/kernel/fuse_i.h
@@ -45,6 +45,9 @@
#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
diff --git a/kernel/inode.c b/kernel/inode.c
index a072f95..f52ee8b 100644
--- a/kernel/inode.c
+++ b/kernel/inode.c
@@ -861,10 +861,18 @@ static int __init fuse_fs_init(void)
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);
+#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;