• Zheng Liu's avatar
    ext4: add a new nolock flag in ext4_map_blocks · 729f52c6
    Zheng Liu authored
    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: default avatarZheng Liu <wenqing.lz@taobao.com>
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    729f52c6
inode.c 139 KB