1
linux/fs/ext4
Jiaying Zhang 744692dc05 ext4: use ext4_get_block_write in buffer write
Allocate uninitialized extent before ext4 buffer write and
convert the extent to initialized after io completes.
The purpose is to make sure an extent can only be marked
initialized after it has been written with new data so
we can safely drop the i_mutex lock in ext4 DIO read without
exposing stale data. This helps to improve multi-thread DIO
read performance on high-speed disks.

Skip the nobh and data=journal mount cases to make things simple for now.

Signed-off-by: Jiaying Zhang <jiayingz@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2010-03-04 16:14:02 -05:00
..
acl.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
acl.h ext[234]: move over to 'check_acl' permission model 2009-09-08 11:09:04 -07:00
balloc.c ext4: move __func__ into a macro for ext4_warning, ext4_error 2010-02-15 14:19:27 -05:00
bitmap.c
block_validity.c ext4: remove unused #include <linux/version.h> 2009-12-14 09:24:20 -05:00
dir.c ext4: make "offset" consistent in ext4_check_dir_entry() 2010-03-02 00:21:35 -05:00
ext4_extents.h ext4: Calculate metadata requirements more accurately 2010-01-01 02:41:30 -05:00
ext4_jbd2.c ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode 2010-02-16 15:06:29 -05:00
ext4_jbd2.h ext4: use ext4_get_block_write in buffer write 2010-03-04 16:14:02 -05:00
ext4.h ext4: use ext4_get_block_write in buffer write 2010-03-04 16:14:02 -05:00
extents.c ext4: use ext4_get_block_write in buffer write 2010-03-04 16:14:02 -05:00
file.c ext4: Use bitops to read/modify EXT4_I(inode)->i_state 2010-01-24 14:34:07 -05:00
fsync.c ext4: mechanical rename some of the direct I/O get_block's identifiers 2010-03-02 13:28:44 -05:00
hash.c
ialloc.c ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode 2010-02-16 15:06:29 -05:00
inode.c ext4: use ext4_get_block_write in buffer write 2010-03-04 16:14:02 -05:00
ioctl.c ext4: Add flag to files with blocks intentionally past EOF 2010-02-24 09:52:53 -05:00
Kconfig ext4: Don't ask about supporting ext2/3 in ext4 if ext4 is not configured 2009-12-21 10:54:09 -05:00
Makefile ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl 2009-06-17 19:24:03 -04:00
mballoc.c ext4: Fix fencepost error in chosing choosing group vs file preallocation. 2010-03-01 19:06:35 -05:00
mballoc.h ext4: remove unused #include <linux/version.h> 2009-12-14 09:24:20 -05:00
migrate.c ext4: fix error handling in migrate 2010-03-01 23:14:36 -05:00
move_extent.c ext4: move __func__ into a macro for ext4_warning, ext4_error 2010-02-15 14:19:27 -05:00
namei.c ext4: Handle non empty on-disk orphan link 2010-03-01 23:29:39 -05:00
resize.c ext4: move __func__ into a macro for ext4_warning, ext4_error 2010-02-15 14:19:27 -05:00
super.c ext4: use ext4_get_block_write in buffer write 2010-03-04 16:14:02 -05:00
symlink.c
xattr_security.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
xattr_trusted.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
xattr_user.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
xattr.c ext4: add missing error checking to ext4_expand_extra_isize_ea() 2010-02-15 14:26:16 -05:00
xattr.h