1
0
Fork 0
alistair23-linux/fs/ext4
Theodore Ts'o dc6982ff4d ext4: refactor code to read directory blocks into ext4_read_dirblock()
The code to read in directory blocks and verify their metadata
checksums was replicated in ten different places across
fs/ext4/namei.c, and the code was buggy in subtle ways in a number of
those replicated sites.  In some cases, ext4_error() was called with a
training newline.  In others, in particularly in empty_dir(), it was
possible to call ext4_dirent_csum_verify() on an index block, which
would trigger false warnings requesting the system adminsitrator to
run e2fsck.

By refactoring the code, we make the code more readable, as well as
shrinking the compiled object file by over 700 bytes and 50 lines of
code.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2013-02-14 23:59:26 -05:00
..
Kconfig ext4: fix configuration dependencies for ext4 ACLs and security labels 2013-01-06 23:38:44 -05:00
Makefile ext4: Remove CONFIG_EXT4_FS_XATTR 2012-12-10 16:30:43 -05:00
acl.c ext4: fix the number of credits needed for acl ops with inline data 2013-02-09 15:23:03 -05:00
acl.h fs: take the ACL checks to common code 2011-07-25 14:30:23 -04:00
balloc.c ext4: check bh in ext4_read_block_bitmap() 2013-01-12 16:33:25 -05:00
bitmap.c ext4: Checksum the block bitmap properly with bigalloc enabled 2012-10-22 00:34:32 -04:00
block_validity.c ext2/3/4: delete unneeded includes of module.h 2012-01-09 13:52:10 +01:00
dir.c ext4: release buffer when checksum failed 2013-01-28 21:23:24 -05:00
ext4.h ext4: start handle at the last possible moment when creating inodes 2013-02-09 16:27:09 -05:00
ext4_extents.h ext4: rationalize ext4_extents.h inclusion 2012-11-28 13:03:30 -05:00
ext4_jbd2.c ext4: pass context information to jbd2__journal_start() 2013-02-08 21:59:22 -05:00
ext4_jbd2.h ext4: fix the number of credits needed for acl ops with inline data 2013-02-09 15:23:03 -05:00
extents.c ext4: pass context information to jbd2__journal_start() 2013-02-08 21:59:22 -05:00
extents_status.c ext4: add some tracepoints in extent status tree 2012-11-08 21:57:33 -05:00
extents_status.h ext4: add operations on extent status tree 2012-11-08 21:57:20 -05:00
file.c ext4: pass context information to jbd2__journal_start() 2013-02-08 21:59:22 -05:00
fsync.c ext4: fix an incorrect comment about i_mutex 2012-12-25 13:31:52 -05:00
hash.c ext4: reduce one "if" comparison in ext4_dirhash() 2013-02-01 22:33:21 -05:00
ialloc.c ext4: use KERN_WARNING for warning messages 2013-02-14 15:11:41 -05:00
indirect.c ext4: pass context information to jbd2__journal_start() 2013-02-08 21:59:22 -05:00
inline.c ext4: pass context information to jbd2__journal_start() 2013-02-08 21:59:22 -05:00
inode.c ext4: add debugging context for warning in ext4_da_update_reserve_space() 2013-02-14 15:51:58 -05:00
ioctl.c ext4: pass context information to jbd2__journal_start() 2013-02-08 21:59:22 -05:00
mballoc.c ext4: use module parameters instead of debugfs for mballoc_debug 2013-02-09 16:28:20 -05:00
mballoc.h ext4: use module parameters instead of debugfs for mballoc_debug 2013-02-09 16:28:20 -05:00
migrate.c ext4: fix the number of credits needed for ext4_ext_migrate() 2013-02-09 12:50:27 -05:00
mmp.c ext4: use unlikely to improve the efficiency of the kernel 2013-01-12 16:28:47 -05:00
move_extent.c ext4: pass context information to jbd2__journal_start() 2013-02-08 21:59:22 -05:00
namei.c ext4: refactor code to read directory blocks into ext4_read_dirblock() 2013-02-14 23:59:26 -05:00
page-io.c ext4: fix possible use-after-free with AIO 2013-01-29 22:48:17 -05:00
resize.c ext4: pass context information to jbd2__journal_start() 2013-02-08 21:59:22 -05:00
super.c ext4: pass context information to jbd2__journal_start() 2013-02-08 21:59:22 -05:00
symlink.c ext4: Remove CONFIG_EXT4_FS_XATTR 2012-12-10 16:30:43 -05:00
truncate.h ext4: move common truncate functions to header file 2011-06-27 19:16:04 -04:00
xattr.c ext4: fix the number of credits needed for acl ops with inline data 2013-02-09 15:23:03 -05:00
xattr.h ext4: fix the number of credits needed for acl ops with inline data 2013-02-09 15:23:03 -05:00
xattr_security.c Merge branch 'for_linus' into for_linus_merged 2012-01-10 11:54:07 -05:00
xattr_trusted.c ext2/3/4: delete unneeded includes of module.h 2012-01-09 13:52:10 +01:00
xattr_user.c ext2/3/4: delete unneeded includes of module.h 2012-01-09 13:52:10 +01:00