From: Jan Kara <jack@suse.cz>
Date: Tue, 4 Jun 2013 18:41:29 +0000 (-0400)
Subject: ext4: Remove wait for unwritten extents in ext4_ind_direct_IO()
X-Git-Tag: firefly_0821_release~176^2~5664^2~48
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=38b8ff7db4d99ebfabaee81b8747877424d1cf28;p=firefly-linux-kernel-4.4.55.git

ext4: Remove wait for unwritten extents in ext4_ind_direct_IO()

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>
---

diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c
index f7742f03cdcb..2a1f8a577e08 100644
--- a/fs/ext4/indirect.c
+++ b/fs/ext4/indirect.c
@@ -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