ext4: print error when argument of inode_readahead_blk is invalid

If argument of inode_readahead_blk is too big, we just bail out
without printing any error. Fix this since it could confuse users.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
Jan Kara 2013-02-02 23:14:31 -05:00 committed by Theodore Ts'o
parent 5f3633e36b
commit e33e60eaed
1 changed files with 4 additions and 5 deletions

View File

@ -1555,11 +1555,10 @@ static int handle_mount_opt(struct super_block *sb, char *opt, int token,
} else if (token == Opt_min_batch_time) {
sbi->s_min_batch_time = arg;
} else if (token == Opt_inode_readahead_blks) {
if (arg > (1 << 30))
return -1;
if (arg && !is_power_of_2(arg)) {
ext4_msg(sb, KERN_ERR, "EXT4-fs: inode_readahead_blks"
" must be a power of 2");
if (arg && (arg > (1 << 30) || !is_power_of_2(arg))) {
ext4_msg(sb, KERN_ERR,
"EXT4-fs: inode_readahead_blks must be "
"0 or a power of 2 smaller than 2^31");
return -1;
}
sbi->s_inode_readahead_blks = arg;