View | Details | Raw Unified | Return to bug 14287 | Differences between
and this patch

Collapse All | Expand All

(-)a/linux-2.6.32-rc6/fs/ext4/super.c (+6 lines)
Lines 1681-1686 static int ext4_fill_flex_info(struct su Link Here
1681
	sbi->s_log_groups_per_flex = sbi->s_es->s_log_groups_per_flex;
1681
	sbi->s_log_groups_per_flex = sbi->s_es->s_log_groups_per_flex;
1682
	groups_per_flex = 1 << sbi->s_log_groups_per_flex;
1682
	groups_per_flex = 1 << sbi->s_log_groups_per_flex;
1683
1683
1684
	/* There are some situations, after shift the value of 'groups_per_flex'
1685
	   can become zero and division with 0 will result in fixpoint divide exception
1686
	 */
1687
	if (groups_per_flex == 0)
1688
		return 1;
1689
1684
	/* We allocate both existing and potentially added groups */
1690
	/* We allocate both existing and potentially added groups */
1685
	flex_group_count = ((sbi->s_groups_count + groups_per_flex - 1) +
1691
	flex_group_count = ((sbi->s_groups_count + groups_per_flex - 1) +
1686
			((le16_to_cpu(sbi->s_es->s_reserved_gdt_blocks) + 1) <<
1692
			((le16_to_cpu(sbi->s_es->s_reserved_gdt_blocks) + 1) <<

Return to bug 14287