summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2012-03-09 16:26:07 +0100
committerFengguang Wu <fengguang.wu@intel.com>2012-03-21 08:26:47 +0100
commitf469ec9c5b95dfed60d5d628e1a8cecfc1f92d7a (patch)
treedaee82683fc13e29a3b92d39fd7a6a8a06288d69
parentMerge tag 'fixes-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/arm... (diff)
downloadlinux-f469ec9c5b95dfed60d5d628e1a8cecfc1f92d7a.tar.xz
linux-f469ec9c5b95dfed60d5d628e1a8cecfc1f92d7a.zip
fs: Remove bogus wait in write_inode_now()
inode_sync_wait() in write_inode_now() is just bogus. That function waits for I_SYNC bit to be cleared but writeback_single_inode() clears the bit on return so the wait is effectivelly a nop unless someone else submits the inode for writeback again. All the waiting write_inode_now() needs is achieved by using WB_SYNC_ALL writeback mode. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
-rw-r--r--fs/fs-writeback.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 5b4a9362d5aa..f60297ba4912 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -1364,8 +1364,6 @@ int write_inode_now(struct inode *inode, int sync)
ret = writeback_single_inode(inode, wb, &wbc);
spin_unlock(&inode->i_lock);
spin_unlock(&wb->list_lock);
- if (sync)
- inode_sync_wait(inode);
return ret;
}
EXPORT_SYMBOL(write_inode_now);