|
@@ -1393,7 +1393,7 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
|
|
unsigned long safe_mask = 0;
|
|
unsigned long safe_mask = 0;
|
|
unsigned int commit_max_age = (unsigned int)-1;
|
|
unsigned int commit_max_age = (unsigned int)-1;
|
|
struct reiserfs_journal *journal = SB_JOURNAL(s);
|
|
struct reiserfs_journal *journal = SB_JOURNAL(s);
|
|
- char *new_opts = kstrdup(arg, GFP_KERNEL);
|
|
|
|
|
|
+ char *new_opts;
|
|
int err;
|
|
int err;
|
|
char *qf_names[REISERFS_MAXQUOTAS];
|
|
char *qf_names[REISERFS_MAXQUOTAS];
|
|
unsigned int qfmt = 0;
|
|
unsigned int qfmt = 0;
|
|
@@ -1401,6 +1401,10 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
|
|
int i;
|
|
int i;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+ new_opts = kstrdup(arg, GFP_KERNEL);
|
|
|
|
+ if (arg && !new_opts)
|
|
|
|
+ return -ENOMEM;
|
|
|
|
+
|
|
sync_filesystem(s);
|
|
sync_filesystem(s);
|
|
reiserfs_write_lock(s);
|
|
reiserfs_write_lock(s);
|
|
|
|
|
|
@@ -1546,7 +1550,8 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg)
|
|
}
|
|
}
|
|
|
|
|
|
out_ok_unlocked:
|
|
out_ok_unlocked:
|
|
- replace_mount_options(s, new_opts);
|
|
|
|
|
|
+ if (new_opts)
|
|
|
|
+ replace_mount_options(s, new_opts);
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
out_err_unlock:
|
|
out_err_unlock:
|