ext4: add checksum calculation when clearing UNINIT flag in ext4_new_inode
authorFrederic Bohe <frederic.bohe@bull.net>
Fri, 7 Nov 2008 14:21:01 +0000 (09:21 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 7 Nov 2008 14:21:01 +0000 (09:21 -0500)
commit23712a9c28b9f80a8cf70c8490358d5f562d2465
treeb831ecf1b2d9000568063003bc6a6ea8cb5325c8
parented9b3e3379731e9f9d2f73f3d7fd9e7d2ce3df4a
ext4: add checksum calculation when clearing UNINIT flag in ext4_new_inode

When initializing an uninitialized block group in ext4_new_inode(),
its block group checksum must be re-calculated.  This fixes a race
when several threads try to allocate a new inode in an UNINIT'd group.

There is some question whether we need to be initializing the block
bitmap in ext4_new_inode() at all, but for now, if we are going to
init the block group, let's eliminate the race.

Signed-off-by: Frederic Bohe <frederic.bohe@bull.net>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/ialloc.c