summaryrefslogtreecommitdiff
path: root/lib/flex_array.c
diff options
context:
space:
mode:
authorTao Ma <boyu.mt@taobao.com>2012-05-28 18:20:59 -0400
committerTheodore Ts'o <tytso@mit.edu>2012-05-28 18:20:59 -0400
commit6f2e9f0e7d795214b9cf5a47724a273b705fd113 (patch)
treec33979cd8d907b0eab9e3d9eada09a09e222e54a /lib/flex_array.c
parent8563000d3bf3ccfccce335c092a7c43078be8ffd (diff)
ext4: protect group inode free counting with group lock
Now when we set the group inode free count, we don't have a proper group lock so that multiple threads may decrease the inode free count at the same time. And e2fsck will complain something like: Free inodes count wrong for group #1 (1, counted=0). Fix? no Free inodes count wrong for group #2 (3, counted=0). Fix? no Directories count wrong for group #2 (780, counted=779). Fix? no Free inodes count wrong for group #3 (2272, counted=2273). Fix? no So this patch try to protect it with the ext4_lock_group. btw, it is found by xfstests test case 269 and the volume is mkfsed with the parameter "-O ^resize_inode,^uninit_bg,extent,meta_bg,flex_bg,ext_attr" and I have run it 100 times and the error in e2fsck doesn't show up again. Signed-off-by: Tao Ma <boyu.mt@taobao.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'lib/flex_array.c')
0 files changed, 0 insertions, 0 deletions