ext4: Remove wait for unwritten extents in ext4_ind_direct_IO()
authorJan Kara <jack@suse.cz>
Tue, 4 Jun 2013 18:41:29 +0000 (14:41 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 4 Jun 2013 18:41:29 +0000 (14:41 -0400)
We don't have to wait for unwritten extent conversion in
ext4_ind_direct_IO() as all writes that happened before DIO are
flushed by the generic code and extent conversion has happened before
we cleared PageWriteback bit.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/indirect.c

index f7742f03cdcbea4a367115398ccd1d2df75dfa1e..2a1f8a577e08851ad17ec001590242e9d1a41f30 100644 (file)
@@ -675,11 +675,6 @@ ssize_t ext4_ind_direct_IO(int rw, struct kiocb *iocb,
 
 retry:
        if (rw == READ && ext4_should_dioread_nolock(inode)) {
-               if (unlikely(atomic_read(&EXT4_I(inode)->i_unwritten))) {
-                       mutex_lock(&inode->i_mutex);
-                       ext4_flush_unwritten_io(inode);
-                       mutex_unlock(&inode->i_mutex);
-               }
                /*
                 * Nolock dioread optimization may be dynamically disabled
                 * via ext4_inode_block_unlocked_dio(). Check inode's state