summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorDmitry Monakhov <dmonakhov@openvz.org>2015-10-19 05:35:32 +0200
committerTheodore Ts'o <tytso@mit.edu>2015-10-19 05:35:32 +0200
commitc93cf2d75779d73376e84e2547de1304113d3f1c (patch)
tree7dd12c179cc8b684c365c8c55428c9e83462a748 /fs
parentext4, jbd2: ensure entering into panic after recording an error in superblock (diff)
downloadlinux-c93cf2d75779d73376e84e2547de1304113d3f1c.tar.xz
linux-c93cf2d75779d73376e84e2547de1304113d3f1c.zip
ext4: explicit mount options parsing cleanup
Currently MOPT_EXPLICIT treated as EXPLICIT_DELALLOC which may be changed in future. Let's fix it now. Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs')
-rw-r--r--fs/ext4/super.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 639613fe20aa..db4be39a8db7 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1516,8 +1516,12 @@ static int handle_mount_opt(struct super_block *sb, char *opt, int token,
return -1;
if (args->from && (m->flags & MOPT_GTE0) && (arg < 0))
return -1;
- if (m->flags & MOPT_EXPLICIT)
- set_opt2(sb, EXPLICIT_DELALLOC);
+ if (m->flags & MOPT_EXPLICIT) {
+ if (m->mount_opt & EXT4_MOUNT_DELALLOC) {
+ set_opt2(sb, EXPLICIT_DELALLOC);
+ } else
+ return -1;
+ }
if (m->flags & MOPT_CLEAR_ERR)
clear_opt(sb, ERRORS_MASK);
if (token == Opt_noquota && sb_any_quota_loaded(sb)) {