summaryrefslogtreecommitdiff
path: root/fs/ext4
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2012-01-24 16:52:10 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2012-01-24 17:05:20 +0530
commit058cf848b62154a6ac13e276899fbb6650df0b74 (patch)
tree980f3caa279997fe141738ed15b4211036f3c7ab /fs/ext4
parentac64f7716cc7afbb57a3c7c70aa9214e2279624e (diff)
parent9bb1282f6a7754955c18be912fbc2b55d133f1b9 (diff)
Merge branch 'linux-3.1.y' into android-tegra-nv-3.1
Linux 3.1.10 Change-Id: I465d184c492e8041dd0cd90f2cb70fde17ba7118 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/super.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 59cef1123053..40bfe8dc502d 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1984,17 +1984,16 @@ static int ext4_fill_flex_info(struct super_block *sb)
struct ext4_group_desc *gdp = NULL;
ext4_group_t flex_group_count;
ext4_group_t flex_group;
- int groups_per_flex = 0;
+ unsigned int groups_per_flex = 0;
size_t size;
int i;
sbi->s_log_groups_per_flex = sbi->s_es->s_log_groups_per_flex;
- groups_per_flex = 1 << sbi->s_log_groups_per_flex;
-
- if (groups_per_flex < 2) {
+ if (sbi->s_log_groups_per_flex < 1 || sbi->s_log_groups_per_flex > 31) {
sbi->s_log_groups_per_flex = 0;
return 1;
}
+ groups_per_flex = 1 << sbi->s_log_groups_per_flex;
/* We allocate both existing and potentially added groups */
flex_group_count = ((sbi->s_groups_count + groups_per_flex - 1) +