Now that all of the work of setting up a superblock has been moved to
devpts_fill_super simplify devpts_mount by calling mount_nodev instead
of rolling mount_nodev by hand.

Signed-off-by: "Eric W. Biederman" <[email protected]>
---
 fs/devpts/inode.c | 19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
index 43773543a783..a48b40b0bd1e 100644
--- a/fs/devpts/inode.c
+++ b/fs/devpts/inode.c
@@ -451,24 +451,7 @@ fail:
 static struct dentry *devpts_mount(struct file_system_type *fs_type,
        int flags, const char *dev_name, void *data)
 {
-       int error;
-       struct super_block *s;
-
-       s = sget(fs_type, NULL, set_anon_super, flags, NULL);
-       if (IS_ERR(s))
-               return ERR_CAST(s);
-
-       if (!s->s_root) {
-               error = devpts_fill_super(s, data, flags & MS_SILENT ? 1 : 0);
-               if (error)
-                       goto out_undo_sget;
-               s->s_flags |= MS_ACTIVE;
-       }
-       return dget(s->s_root);
-
-out_undo_sget:
-       deactivate_locked_super(s);
-       return ERR_PTR(error);
+       return mount_nodev(fs_type, flags, data, devpts_fill_super);
 }
 
 static void devpts_kill_sb(struct super_block *sb)
-- 
2.8.3

Reply via email to