summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2008-02-08 13:21:40 +0100
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-08 18:22:40 +0100
commite55e212c083f0c51a7d4eccd1746b6dca40ffc41 (patch)
tree2e47635c26ab7e6773a89a686b43c3e022bdf785 /drivers
parentmount options: fix befs (diff)
downloadlinux-e55e212c083f0c51a7d4eccd1746b6dca40ffc41.tar.xz
linux-e55e212c083f0c51a7d4eccd1746b6dca40ffc41.zip
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.c7
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,
};