[PATCH 0/3] Clean up bitmap loading

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The code to load the block and inode bitmaps was a wretched hive of scum
and villany.... the code to handle uninitialized bitmap violated the
ext4 journal write protocols, which meant it was possible for file
system corruptions if the file system crashed at exactly the wrong time.
In addition there was a race that could cause blocks or inodes to be
doubly allocated if two processes race against each other while trying
to load an uninitialized bitmap block.

Finally, it was hard to understand the code because it was badly
structured, and the with the block bitmap uninit code duplicated in
three different places, one unnecessary, and not all of the completely
identical.  Fixing this means we can trim a cool 100 lines from the ext4
sources.

Theodore Ts'o (3):
  ext4: remove block bitmap initialization in ext4_new_inode()
  ext4: fold ext4_claim_inode into ext4_new_inode
  ext4: fix race when setting bitmap_uptdate flag

 fs/ext4/balloc.c  |   59 ++++++++----
 fs/ext4/ext4.h    |   11 ++-
 fs/ext4/ialloc.c  |  256 ++++++++++++++++++----------------------------------
 fs/ext4/mballoc.c |   79 +++-------------
 4 files changed, 153 insertions(+), 252 deletions(-)

-- 
1.7.8.11.gefc1f.dirty

--
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


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux