You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/package/fuse/patches/220-kmem_cache.patch

61 lines
1.7 KiB
Diff

Index: fuse-2.6.5/kernel/dev.c
===================================================================
--- fuse-2.6.5.orig/kernel/dev.c 2007-06-23 13:03:50.000000000 +0200
+++ fuse-2.6.5/kernel/dev.c 2007-06-23 13:03:51.000000000 +0200
@@ -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 +1097,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;
Index: fuse-2.6.5/kernel/inode.c
===================================================================
--- fuse-2.6.5.orig/kernel/inode.c 2007-06-23 13:03:50.000000000 +0200
+++ fuse-2.6.5/kernel/inode.c 2007-06-23 13:03:51.000000000 +0200
@@ -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)