On Fri, Nov 07, 2008 at 08:52:22AM -0500, Theodore Tso wrote: > On Fri, Nov 07, 2008 at 11:22:56AM +0100, Frédéric Bohé wrote: > > From: Frederic Bohe <frederic.bohe@xxxxxxxx> > > > > Block group's checksum need to be re-calculated during the > > initialization of an UNINIT'd group. This fix a race when several > > threads try to allocate a new inode in an UNINIT'd group. > > This patch looks sane, and so I'll accept it, but there's a higher > order hiding here ---- why are we initializing the block bitmap in > ext4_new_inode()? Sure, *most* of the time where we create a new > inode, we'll be needing to allocate a new block, but sometimes we > won't (i.e., when creating a symlink, device file, socket, or a > zero-length regular file). Because when we clear the uninitt_bg flag the kernel expect the block bitmap to be correctly indicate blocks containing block bitmap and inode bitmap as used. If mke2fs didn't do that we would need to do the same when we remove the uninit_bg flag. -aneesh -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html