summaryrefslogtreecommitdiffstats
path: root/fs/devpts/inode.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2016-09-14 20:53:35 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-09-23 11:31:31 +0200
commitc1b241f0c1cfdba6ad90afd5036fa60781bbc363 (patch)
tree0520690147a57814b063e596f4ae02c7cb552d77 /fs/devpts/inode.c
parentdevpts: Move the creation of /dev/pts/ptmx into fill_super (diff)
downloadlinux-c1b241f0c1cfdba6ad90afd5036fa60781bbc363.tar.xz
linux-c1b241f0c1cfdba6ad90afd5036fa60781bbc363.zip
devpts: Simplify devpts_mount by using mount_nodev
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" <ebiederm@xmission.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/devpts/inode.c')
-rw-r--r--fs/devpts/inode.c19
1 files changed, 1 insertions, 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)