Hello, Linus, Alan
This patch makes reiserfs to return -EINVAL when remount failed because of wrong
options specifed.
Please apply
diff -rup linux-2.4.13-pre5/fs/reiserfs/super.c linux-2.4.13-pre5-1/fs/reiserfs/super.c
--- linux-2.4.13-pre5/fs/reiserfs/super.c Fri Oct 19 19:15:21 2001
+++ linux-2.4.13-pre5-1/fs/reiserfs/super.c Fri Oct 19 19:26:14 2001
@@ -171,12 +171,13 @@ static int parse_options (char * options
} else if (!strcmp (this_char, "replayonly")) {
set_bit (REPLAYONLY, mount_options);
} else if (!strcmp (this_char, "resize")) {
- if (value && *value){
+ if (value && *value) {
*blocks = simple_strtoul (value, &value, 0);
- } else {
- printk("reiserfs: resize option requires a value\n");
- return 0;
+ if (!*value)
+ continue;
}
+ printk ("reiserfs: numeric argument is required for resize\n");
+ return 0;
} else if (!strcmp (this_char, "hash")) {
if (value && *value) {
/* if they specify any hash option, we force detection
@@ -232,7 +233,7 @@ int reiserfs_remount (struct super_block
rs = SB_DISK_SUPER_BLOCK (s);
if (!parse_options(data, &mount_options, &blocks))
- return 0;
+ return -EINVAL;
if(blocks) {
int rc = reiserfs_resize(s, blocks);