diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-07-26 13:12:54 +0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-10-29 04:17:01 -0400 |
commit | aed1d84f98738bcc1c605e1ff442de9890441315 (patch) | |
tree | 30fd177f50289b5daa621c0e2922b9942bdff0f5 /fs/proc/root.c | |
parent | 579441a39bbbbc408acd5b228d63e76cff708fe6 (diff) | |
download | lwn-aed1d84f98738bcc1c605e1ff442de9890441315.tar.gz lwn-aed1d84f98738bcc1c605e1ff442de9890441315.zip |
switch procfs to ->mount()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/proc/root.c')
-rw-r--r-- | fs/proc/root.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/fs/proc/root.c b/fs/proc/root.c index 03b4f6fe4984..ef9fa8e24ad6 100644 --- a/fs/proc/root.c +++ b/fs/proc/root.c @@ -35,8 +35,8 @@ static int proc_set_super(struct super_block *sb, void *data) return set_anon_super(sb, NULL); } -static int proc_get_sb(struct file_system_type *fs_type, - int flags, const char *dev_name, void *data, struct vfsmount *mnt) +static struct dentry *proc_mount(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) { int err; struct super_block *sb; @@ -61,14 +61,14 @@ static int proc_get_sb(struct file_system_type *fs_type, sb = sget(fs_type, proc_test_super, proc_set_super, ns); if (IS_ERR(sb)) - return PTR_ERR(sb); + return ERR_CAST(sb); if (!sb->s_root) { sb->s_flags = flags; err = proc_fill_super(sb); if (err) { deactivate_locked_super(sb); - return err; + return ERR_PTR(err); } ei = PROC_I(sb->s_root->d_inode); @@ -81,8 +81,7 @@ static int proc_get_sb(struct file_system_type *fs_type, sb->s_flags |= MS_ACTIVE; } - simple_set_mnt(mnt, sb); - return 0; + return dget(sb->s_root); } static void proc_kill_sb(struct super_block *sb) @@ -96,7 +95,7 @@ static void proc_kill_sb(struct super_block *sb) static struct file_system_type proc_fs_type = { .name = "proc", - .get_sb = proc_get_sb, + .mount = proc_mount, .kill_sb = proc_kill_sb, }; |