lkml.org 
[lkml]   [2008]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch 04/26] mount options: fix affs
From: Miklos Szeredi <mszeredi@suse.cz>

Add a .show_options super operation to affs.

Use generic_show_options() and save the complete option string in
affs_fill_super() and affs_remount().

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
---

Index: linux/fs/affs/super.c
===================================================================
--- linux.orig/fs/affs/super.c 2008-01-24 18:57:19.000000000 +0100
+++ linux/fs/affs/super.c 2008-01-24 19:01:21.000000000 +0100
@@ -122,6 +122,7 @@ static const struct super_operations aff
.write_super = affs_write_super,
.statfs = affs_statfs,
.remount_fs = affs_remount,
+ .show_options = generic_show_options,
};

enum {
@@ -272,6 +273,8 @@ static int affs_fill_super(struct super_
u8 sig[4];
int ret = -EINVAL;

+ save_mount_options(sb, data);
+
pr_debug("AFFS: read_super(%s)\n",data ? (const char *)data : "no options");

sb->s_magic = AFFS_SUPER_MAGIC;
@@ -487,14 +490,21 @@ affs_remount(struct super_block *sb, int
int root_block;
unsigned long mount_flags;
int res = 0;
+ char *new_opts = kstrdup(data, GFP_KERNEL);

pr_debug("AFFS: remount(flags=0x%x,opts=\"%s\")\n",*flags,data);

*flags |= MS_NODIRATIME;

- if (!parse_options(data,&uid,&gid,&mode,&reserved,&root_block,
- &blocksize,&sbi->s_prefix,sbi->s_volume,&mount_flags))
+ if (!parse_options(data, &uid, &gid, &mode, &reserved, &root_block,
+ &blocksize, &sbi->s_prefix, sbi->s_volume,
+ &mount_flags)) {
+ kfree(new_opts);
return -EINVAL;
+ }
+ kfree(sb->s_options);
+ sb->s_options = new_opts;
+
sbi->s_flags = mount_flags;
sbi->s_mode = mode;
sbi->s_uid = uid;
--


\
 
 \ /
  Last update: 2008-01-24 20:39    [W:0.391 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site