Re: [PATCH 0/5][v2] Simplify devpts code

Sukadev Bhattiprolu
2009-03-07T18:19:16Z

Pls ignore this mail. I have resent patch 1/5 with correct subject line.

Sukadev Bhattiprolu [sukadev@linux.vnet.ibm.com] wrote:
| From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
| Subject: [v3][PATCH 1/5] Unroll essentials of do_remount_sb() into devpts
|
| On remount, devpts fs only needs to parse the mount options. Users cannot
| directly create/dirty files in /dev/pts so the MS_RDONLY flag and
| shrinking the dcache does not really apply to devpts.
|
| So effectively on remount, devpts only parses the mount options and updates
| these options in its super block. As such, we could replace do_remount_sb()
| call with a direct parse_mount_options().
|
| Doing so enables subsequent patches to avoid parsing the mount options twice
| and simplify the code.
|
| Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
| Acked-by: Serge Hallyn <serue@us.ibm.com>
| ---
| fs/devpts/inode.c | 7 ++++++-
| 1 files changed, 6 insertions(+), 1 deletions(-)
|
| diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
| index ad186b4..de15e73 100644
| --- a/fs/devpts/inode.c
| +++ b/fs/devpts/inode.c
| @@ -442,6 +442,8 @@ static int get_init_pts_sb(struct file_system_type *fs_type, int flags,
| void *data, struct vfsmount *mnt)
| {
| struct super_block *s;
| + struct pts_mount_opts *opts;
| + struct pts_fs_info *fsi;
| int error;
|
| s = sget(fs_type, compare_init_pts_sb, set_anon_super, NULL);
| @@ -458,7 +460,10 @@ static int get_init_pts_sb(struct file_system_type *fs_type, int flags,
| }
| s->s_flags |= MS_ACTIVE;
| }
| - do_remount_sb(s, flags, data, 0);
| + fsi = DEVPTS_SB(s);
| + opts = &fsi->mount_opts;
| + parse_mount_options(data, PARSE_REMOUNT, opts);
| +
| simple_set_mnt(mnt, s);
| return 0;
| }
| --
| 1.5.2.5