summaryrefslogtreecommitdiffstats
path: root/package/fuse/patches/220-kmem_cache.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/fuse/patches/220-kmem_cache.patch')
-rw-r--r--package/fuse/patches/220-kmem_cache.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/package/fuse/patches/220-kmem_cache.patch b/package/fuse/patches/220-kmem_cache.patch
new file mode 100644
index 000000000..7fb439656
--- /dev/null
+++ b/package/fuse/patches/220-kmem_cache.patch
@@ -0,0 +1,56 @@
+--- fuse.old/kernel/dev.c 2007-01-28 21:26:41.000000000 +0000
++++ fuse.dev/kernel/dev.c 2007-05-29 00:28:47.000000000 +0100
+@@ -21,7 +21,11 @@
+ MODULE_ALIAS_MISCDEV(FUSE_MINOR);
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
++static struct kmem_cache *fuse_req_cachep;
++#else
+ static kmem_cache_t *fuse_req_cachep;
++#endif
+
+ static struct fuse_conn *fuse_get_conn(struct file *file)
+ {
+@@ -1093,9 +1093,13 @@
+ int __init fuse_dev_init(void)
+ {
+ int err = -ENOMEM;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
++ fuse_req_cachep = KMEM_CACHE(fuse_req, 0);
++#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.old/kernel/inode.c 2007-02-04 13:34:51.000000000 +0000
++++ fuse.dev/kernel/inode.c 2007-05-29 00:26:12.000000000 +0100
+@@ -24,7 +24,7 @@
+ MODULE_LICENSE("GPL");
+ #endif
+
+-static kmem_cache_t *fuse_inode_cachep;
++static struct kmem_cache *fuse_inode_cachep;
+ struct list_head fuse_conn_list;
+ DEFINE_MUTEX(fuse_mutex);
+
+@@ -804,14 +804,12 @@
+ static decl_subsys(fuse, NULL, NULL);
+ static decl_subsys(connections, NULL, NULL);
+
+-static void fuse_inode_init_once(void *foo, kmem_cache_t *cachep,
++static void fuse_inode_init_once(void *foo, struct kmem_cache *cachep,
+ unsigned long flags)
+ {
+ struct inode * inode = foo;
+
+- if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) ==
+- SLAB_CTOR_CONSTRUCTOR)
+- inode_init_once(inode);
++ inode_init_once(inode);
+ }
+
+ static int __init fuse_fs_init(void)