From c37d583b366afb1694cdb8a7280d0b9de5554755 Mon Sep 17 00:00:00 2001 From: Sukadev Bhattiprolu Date: Thu, 14 May 2009 19:38:24 -0700 Subject: [PATCH] --- yaml --- r: 144974 b: refs/heads/master c: 1f71ebedb3f8ce9108978168759c8551d873a912 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/devpts/inode.c | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 1d98d363ef2f..8a030dcd7f43 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bd67ce0f661482bd073f94144dd7e5a093ef012f +refs/heads/master: 1f71ebedb3f8ce9108978168759c8551d873a912 diff --git a/trunk/fs/devpts/inode.c b/trunk/fs/devpts/inode.c index 21165cf934ff..c68edb969441 100644 --- a/trunk/fs/devpts/inode.c +++ b/trunk/fs/devpts/inode.c @@ -90,6 +90,15 @@ static inline struct super_block *pts_sb_from_inode(struct inode *inode) #define PARSE_MOUNT 0 #define PARSE_REMOUNT 1 +/* + * parse_mount_options(): + * Set @opts to mount options specified in @data. If an option is not + * specified in @data, set it to its default value. The exception is + * 'newinstance' option which can only be set/cleared on a mount (i.e. + * cannot be changed during remount). + * + * Note: @data may be NULL (in which case all options are set to default). + */ static int parse_mount_options(char *data, int op, struct pts_mount_opts *opts) { char *p; @@ -355,12 +364,9 @@ static int devpts_get_sb(struct file_system_type *fs_type, struct pts_mount_opts opts; struct super_block *s; - memset(&opts, 0, sizeof(opts)); - if (data) { - error = parse_mount_options(data, PARSE_MOUNT, &opts); - if (error) - return error; - } + error = parse_mount_options(data, PARSE_MOUNT, &opts); + if (error) + return error; if (opts.newinstance) s = sget(fs_type, NULL, set_anon_super, NULL);