From 5530aa7e5e2e405296dfca68c729776dbb294245 Mon Sep 17 00:00:00 2001 From: Xi Wang Date: Tue, 10 Jan 2012 11:51:10 -0500 Subject: [PATCH] --- yaml --- r: 282985 b: refs/heads/master c: d50f2ab6f050311dbf7b8f5501b25f0bf64a439b h: refs/heads/master i: 282983: 76b2d87cd4e4d591311c27c8cc098628021211f0 v: v3 --- [refs] | 2 +- trunk/fs/ext4/super.c | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index c11b903c58d5..b35a498b09c2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5f163cc759a9fa8844a4efcf1f579dc5b2ca2491 +refs/heads/master: d50f2ab6f050311dbf7b8f5501b25f0bf64a439b diff --git a/trunk/fs/ext4/super.c b/trunk/fs/ext4/super.c index 36570b7af7c5..108c3af8617b 100644 --- a/trunk/fs/ext4/super.c +++ b/trunk/fs/ext4/super.c @@ -2006,17 +2006,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) +