lkml.org 
[lkml]   [2009]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCHv2] devpts: fix to set default values of mount options
If devpts is mounted with no option specified, the default
values of mount options will no be set. This happend in my
Fedora11Beta box.

$ mkdir /dev/pts2

$ mount -t devpts devpts /dev/pts2
$ cat /proc/mounts
devpts /dev/pts2 devpts rw,relatime,mode=000,ptmxmode=000 0 0

# umount /dev/pts2
$ mount -t devpts -o gid=0 devpts /dev/pts2
$ cat /proc/mounts
devpts /dev/pts2 devpts rw,relatime,gid=0,mode=600,ptmxmode=000 0 0

This patch fixed this problem.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
---
fs/devpts/inode.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
index 21165cf..13392b5 100644
--- a/fs/devpts/inode.c
+++ b/fs/devpts/inode.c
@@ -105,6 +105,9 @@ static int parse_mount_options(char *data, int op, struct pts_mount_opts *opts)
if (op == PARSE_MOUNT)
opts->newinstance = 0;

+ if (!data)
+ return 0;
+
while ((p = strsep(&data, ",")) != NULL) {
substring_t args[MAX_OPT_ARGS];
int token;
@@ -356,11 +359,10 @@ static int devpts_get_sb(struct file_system_type *fs_type,
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);
--
1.5.3.8




\
 
 \ /
  Last update: 2009-05-15 07:31    [W:0.080 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site