]> err.no Git - linux-2.6/commitdiff
mount options: fix capifs
authorMiklos Szeredi <mszeredi@suse.cz>
Fri, 8 Feb 2008 12:21:40 +0000 (04:21 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 8 Feb 2008 17:22:40 +0000 (09:22 -0800)
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>
drivers/isdn/capi/capifs.c

index 2dd1b57b0ba4959ab9578eb9de478410225e7094..6d7c47ec0367aa39026c358ad3948200893fe19c 100644 (file)
@@ -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,
 };