From cb9e39d1f783b107477145880193a8004089db51 Mon Sep 17 00:00:00 2001 From: David Zafman Date: Mon, 5 Nov 2012 11:26:56 -0800 Subject: [PATCH] Improve performance of __writeback_single_inode() for nfs server Don't need to call filemap_fdatawait() if do_writepages() didn't do anything This fixes http://tracker.newdream.net/issues/3430 Signed-off-by: David Zafman --- fs/fs-writeback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index be3efc4f64f4..a53079879799 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -455,7 +455,7 @@ __writeback_single_inode(struct inode *inode, struct bdi_writeback *wb, * This is important for filesystems that modify metadata on data * I/O completion. */ - if (wbc->sync_mode == WB_SYNC_ALL) { + if (wbc->sync_mode == WB_SYNC_ALL && nr_to_write > 0) { int err = filemap_fdatawait(mapping); if (ret == 0) ret = err; -- 2.47.3