ext4: clean up inode bitmaps manipulation in ext4_free_inode
authorDmitry Monakhov <dmonakhov@openvz.org>
Sun, 16 May 2010 11:00:00 +0000 (07:00 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 16 May 2010 11:00:00 +0000 (07:00 -0400)
commitd17413c08cd2b1dd2bf2cfdbb0f7b736b2b2b15c
treeaf5c4e2e0c7e7d188dd5b8fac61d39ee7984f3c6
parent21ca087a3891efab4d45488db8febee474d26c68
ext4: clean up inode bitmaps manipulation in ext4_free_inode

- Reorganize locking scheme to batch two atomic operation in to one.
  This also allow us to state what healthy group must obey following rule
  ext4_free_inodes_count(sb, gdp) == ext4_count_free(inode_bitmap, NUM);
- Fix possible undefined pointer dereference.
- Even if group descriptor stats aren't accessible we have to update
  inode bitmaps.
- Move non-group members update out of group_lock.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/ialloc.c