]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: add a new nolock flag in ext4_map_blocks
authorZheng Liu <wenqing.lz@taobao.com>
Mon, 9 Jul 2012 20:29:29 +0000 (16:29 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 9 Jul 2012 20:29:29 +0000 (16:29 -0400)
commit5e002fb5442bd0fd1ea6672395690fe829cf1a02
treec3e8a6348ef23fcf15797b9f68905ec666ec43f8
parent43ecf276d392d9a57f7e2b92c2729415e64de717
ext4: add a new nolock flag in ext4_map_blocks

EXT4_GET_BLOCKS_NO_LOCK flag is added to indicate that we don't need
to acquire i_data_sem lock in ext4_map_blocks.  Meanwhile, it changes
ext4_get_block() to not start a new journal because when we do a
overwrite dio, there is no any metadata that needs to be modified.

We define a new function called ext4_get_block_write_nolock, which is
used in dio overwrite nolock.  In this function, it doesn't try to
acquire i_data_sem lock and doesn't start a new journal as it does a
lookup.

CC: Tao Ma <tm@tao.ma>
CC: Eric Sandeen <sandeen@redhat.com>
CC: Robin Dong <hao.bigrat@gmail.com>
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/inode.c