diff options
Diffstat (limited to 'net/sunrpc/rpc_pipe.c')
-rw-r--r-- | net/sunrpc/rpc_pipe.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index ad39b47e05bc..a2f1893bde53 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c | |||
@@ -845,6 +845,8 @@ init_once(void * foo, struct kmem_cache * cachep, unsigned long flags) | |||
845 | 845 | ||
846 | int register_rpc_pipefs(void) | 846 | int register_rpc_pipefs(void) |
847 | { | 847 | { |
848 | int err; | ||
849 | |||
848 | rpc_inode_cachep = kmem_cache_create("rpc_inode_cache", | 850 | rpc_inode_cachep = kmem_cache_create("rpc_inode_cache", |
849 | sizeof(struct rpc_inode), | 851 | sizeof(struct rpc_inode), |
850 | 0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT| | 852 | 0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT| |
@@ -852,7 +854,12 @@ int register_rpc_pipefs(void) | |||
852 | init_once, NULL); | 854 | init_once, NULL); |
853 | if (!rpc_inode_cachep) | 855 | if (!rpc_inode_cachep) |
854 | return -ENOMEM; | 856 | return -ENOMEM; |
855 | register_filesystem(&rpc_pipe_fs_type); | 857 | err = register_filesystem(&rpc_pipe_fs_type); |
858 | if (err) { | ||
859 | kmem_cache_destroy(rpc_inode_cachep); | ||
860 | return err; | ||
861 | } | ||
862 | |||
856 | return 0; | 863 | return 0; |
857 | } | 864 | } |
858 | 865 | ||