diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-01-25 18:30:38 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-03-03 14:07:54 -0500 |
commit | fc7bed8c802de3b064a56a43ec8574aa8d412de3 (patch) | |
tree | 8f4836dd8db3f6748bd813b1f746af6fa6328859 /net | |
parent | 5b7e934d887c67fe093b61f1308bc2d9c49381ff (diff) |
Don't bother with d_genocide in rpc_pipe
kill_litter_super() from ->kill_sb() will take care of the junk
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/rpc_pipe.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index 49278f830367..9ac493fcc873 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c | |||
@@ -999,19 +999,14 @@ rpc_fill_super(struct super_block *sb, void *data, int silent) | |||
999 | inode = rpc_get_inode(sb, S_IFDIR | 0755); | 999 | inode = rpc_get_inode(sb, S_IFDIR | 0755); |
1000 | if (!inode) | 1000 | if (!inode) |
1001 | return -ENOMEM; | 1001 | return -ENOMEM; |
1002 | root = d_alloc_root(inode); | 1002 | sb->s_root = root = d_alloc_root(inode); |
1003 | if (!root) { | 1003 | if (!root) { |
1004 | iput(inode); | 1004 | iput(inode); |
1005 | return -ENOMEM; | 1005 | return -ENOMEM; |
1006 | } | 1006 | } |
1007 | if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL)) | 1007 | if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL)) |
1008 | goto out; | 1008 | return -ENOMEM; |
1009 | sb->s_root = root; | ||
1010 | return 0; | 1009 | return 0; |
1011 | out: | ||
1012 | d_genocide(root); | ||
1013 | dput(root); | ||
1014 | return -ENOMEM; | ||
1015 | } | 1010 | } |
1016 | 1011 | ||
1017 | static int | 1012 | static int |