summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>2009-01-02 13:41:47 +0000
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-02 10:19:35 -0800
commit53af8ee4094d80ddaac7efefb572b1c22ae49367 (patch)
tree15409f4f0cb797d87f7a18c7dd468a227e3c66de
parent31af0abbdafb66ad8e27e3df878faec2ebe1132e (diff)
downloadlwn-53af8ee4094d80ddaac7efefb572b1c22ae49367.tar.gz
lwn-53af8ee4094d80ddaac7efefb572b1c22ae49367.zip
Extract option parsing to new function
Move code to parse mount options into a separate function so it can (later) be shared between mount and remount operations. Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/devpts/inode.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
index b793e6e3c21e..00530e82673e 100644
--- a/fs/devpts/inode.c
+++ b/fs/devpts/inode.c
@@ -72,11 +72,9 @@ static inline struct super_block *pts_sb_from_inode(struct inode *inode)
return devpts_mnt->mnt_sb;
}
-static int devpts_remount(struct super_block *sb, int *flags, char *data)
+static int parse_mount_options(char *data, struct pts_mount_opts *opts)
{
char *p;
- struct pts_fs_info *fsi = DEVPTS_SB(sb);
- struct pts_mount_opts *opts = &fsi->mount_opts;
opts->setuid = 0;
opts->setgid = 0;
@@ -120,6 +118,14 @@ static int devpts_remount(struct super_block *sb, int *flags, char *data)
return 0;
}
+static int devpts_remount(struct super_block *sb, int *flags, char *data)
+{
+ struct pts_fs_info *fsi = DEVPTS_SB(sb);
+ struct pts_mount_opts *opts = &fsi->mount_opts;
+
+ return parse_mount_options(data, opts);
+}
+
static int devpts_show_options(struct seq_file *seq, struct vfsmount *vfs)
{
struct pts_fs_info *fsi = DEVPTS_SB(vfs->mnt_sb);