]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: use ext4_get_block_write in buffer write
authorJiaying Zhang <jiayingz@google.com>
Thu, 4 Mar 2010 21:14:02 +0000 (16:14 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 4 Mar 2010 21:14:02 +0000 (16:14 -0500)
commit56b8e35ae6fe47e13428d69f2d3480a12c593c6a
treeed246651aebcb8dae57de8c58dc20983064ee017
parent2d916d42f651e640f7a3185f0662442ba34c2357
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>
fs/ext4/ext4.h
fs/ext4/ext4_jbd2.h
fs/ext4/extents.c
fs/ext4/inode.c
fs/ext4/super.c