diff options
author | Dmitry Monakhov <dmonakhov@openvz.org> | 2015-10-18 23:35:32 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2015-10-18 23:35:32 -0400 |
commit | c93cf2d75779d73376e84e2547de1304113d3f1c (patch) | |
tree | 7dd12c179cc8b684c365c8c55428c9e83462a748 /fs | |
parent | 4327ba52afd03fc4b5afa0ee1d774c9c5b0e85c5 (diff) | |
download | linux-stable-c93cf2d75779d73376e84e2547de1304113d3f1c.tar.gz linux-stable-c93cf2d75779d73376e84e2547de1304113d3f1c.tar.bz2 linux-stable-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.c | 8 |
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)) { |