aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/freevxfs/vxfs_super.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/fs/freevxfs/vxfs_super.c b/fs/freevxfs/vxfs_super.c
index b74b791fc23b..ac28b0835ffc 100644
--- a/fs/freevxfs/vxfs_super.c
+++ b/fs/freevxfs/vxfs_super.c
@@ -260,12 +260,17 @@ static struct file_system_type vxfs_fs_type = {
260static int __init 260static int __init
261vxfs_init(void) 261vxfs_init(void)
262{ 262{
263 int rv;
264
263 vxfs_inode_cachep = kmem_cache_create("vxfs_inode", 265 vxfs_inode_cachep = kmem_cache_create("vxfs_inode",
264 sizeof(struct vxfs_inode_info), 0, 266 sizeof(struct vxfs_inode_info), 0,
265 SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD, NULL, NULL); 267 SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD, NULL, NULL);
266 if (vxfs_inode_cachep) 268 if (!vxfs_inode_cachep)
267 return register_filesystem(&vxfs_fs_type); 269 return -ENOMEM;
268 return -ENOMEM; 270 rv = register_filesystem(&vxfs_fs_type);
271 if (rv < 0)
272 kmem_cache_destroy(vxfs_inode_cachep);
273 return rv;
269} 274}
270 275
271static void __exit 276static void __exit