diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2008-02-08 04:21:40 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 09:22:40 -0800 |
commit | e55e212c083f0c51a7d4eccd1746b6dca40ffc41 (patch) | |
tree | 2e47635c26ab7e6773a89a686b43c3e022bdf785 /drivers | |
parent | 552c3c6c565d08857df48e77e8ce2b223517c3ee (diff) |
mount options: fix capifs
Add a .show_options super operation to capifs.
Use generic_show_options() and save the complete option string in
capifs_remount().
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Acked-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/isdn/capi/capifs.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/isdn/capi/capifs.c b/drivers/isdn/capi/capifs.c index 2dd1b57b0ba4..6d7c47ec0367 100644 --- a/drivers/isdn/capi/capifs.c +++ b/drivers/isdn/capi/capifs.c @@ -52,6 +52,7 @@ static int capifs_remount(struct super_block *s, int *flags, char *data) gid_t gid = 0; umode_t mode = 0600; char *this_char; + char *new_opt = kstrdup(data, GFP_KERNEL); this_char = NULL; while ((this_char = strsep(&data, ",")) != NULL) { @@ -72,11 +73,16 @@ static int capifs_remount(struct super_block *s, int *flags, char *data) return -EINVAL; } } + + kfree(s->s_options); + s->s_options = new_opt; + config.setuid = setuid; config.setgid = setgid; config.uid = uid; config.gid = gid; config.mode = mode; + return 0; } @@ -84,6 +90,7 @@ static struct super_operations capifs_sops = { .statfs = simple_statfs, .remount_fs = capifs_remount, + .show_options = generic_show_options, }; |