|
@@ -845,6 +845,8 @@ init_once(void * foo, struct kmem_cache * cachep, unsigned long flags)
|
|
|
|
|
|
int register_rpc_pipefs(void)
|
|
|
{
|
|
|
+ int err;
|
|
|
+
|
|
|
rpc_inode_cachep = kmem_cache_create("rpc_inode_cache",
|
|
|
sizeof(struct rpc_inode),
|
|
|
0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT|
|
|
@@ -852,7 +854,12 @@ int register_rpc_pipefs(void)
|
|
|
init_once, NULL);
|
|
|
if (!rpc_inode_cachep)
|
|
|
return -ENOMEM;
|
|
|
- register_filesystem(&rpc_pipe_fs_type);
|
|
|
+ err = register_filesystem(&rpc_pipe_fs_type);
|
|
|
+ if (err) {
|
|
|
+ kmem_cache_destroy(rpc_inode_cachep);
|
|
|
+ return err;
|
|
|
+ }
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|