Don't bother with d_genocide in rpc_pipe
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 25 Jan 2010 23:30:38 +0000 (18:30 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 3 Mar 2010 19:07:54 +0000 (14:07 -0500)
kill_litter_super() from ->kill_sb() will take care of the junk

net/sunrpc/rpc_pipe.c

index 49278f830367eec97d34e862992d6f7f16e1e899..9ac493fcc873f88d40ed8917073b10bbc39bf05b 100644 (file)
@@ -999,19 +999,14 @@ rpc_fill_super(struct super_block *sb, void *data, int silent)
        inode = rpc_get_inode(sb, S_IFDIR | 0755);
        if (!inode)
                return -ENOMEM;
-       root = d_alloc_root(inode);
+       sb->s_root = root = d_alloc_root(inode);
        if (!root) {
                iput(inode);
                return -ENOMEM;
        }
        if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL))
-               goto out;
-       sb->s_root = root;
+               return -ENOMEM;
        return 0;
-out:
-       d_genocide(root);
-       dput(root);
-       return -ENOMEM;
 }
 
 static int