ext4: Fix initalization of s_flex_groups
authorTheodore Ts'o <tytso@mit.edu>
Fri, 11 Sep 2009 20:51:28 +0000 (16:51 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 11 Sep 2009 20:51:28 +0000 (16:51 -0400)
commit7ad9bb651fc2036ea94bed94da76a4b08959a911
tree2669266f02c35b1b24d13d0adc4b3ac5afbdf7fd
parent1f7bebb9e911d870fa8f997ddff838e82b5715ea
ext4: Fix initalization of s_flex_groups

The s_flex_groups array should have been initialized using atomic_add
to sum up the free counts from the block groups that make up a
flex_bg.  By using atomic_set, the value of the s_flex_groups array
was set to the values of the last block group in the flex_bg.

The impact of this bug is that the block and inode allocation
algorithms might not pick the best flex_bg for new allocation.

Thanks to Damien Guibouret for pointing out this problem!

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/super.c