diff options
| -rw-r--r-- | fs/ext4/super.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 9b36c11baad9..b68f4b671bc7 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
| @@ -1555,11 +1555,10 @@ static int handle_mount_opt(struct super_block *sb, char *opt, int token, | |||
| 1555 | } else if (token == Opt_min_batch_time) { | 1555 | } else if (token == Opt_min_batch_time) { |
| 1556 | sbi->s_min_batch_time = arg; | 1556 | sbi->s_min_batch_time = arg; |
| 1557 | } else if (token == Opt_inode_readahead_blks) { | 1557 | } else if (token == Opt_inode_readahead_blks) { |
| 1558 | if (arg > (1 << 30)) | 1558 | if (arg && (arg > (1 << 30) || !is_power_of_2(arg))) { |
| 1559 | return -1; | 1559 | ext4_msg(sb, KERN_ERR, |
| 1560 | if (arg && !is_power_of_2(arg)) { | 1560 | "EXT4-fs: inode_readahead_blks must be " |
| 1561 | ext4_msg(sb, KERN_ERR, "EXT4-fs: inode_readahead_blks" | 1561 | "0 or a power of 2 smaller than 2^31"); |
| 1562 | " must be a power of 2"); | ||
| 1563 | return -1; | 1562 | return -1; |
| 1564 | } | 1563 | } |
| 1565 | sbi->s_inode_readahead_blks = arg; | 1564 | sbi->s_inode_readahead_blks = arg; |
