]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
Improve performance of __writeback_single_inode() for nfs server historic/wip-3430
authorDavid Zafman <david.zafman@inktank.com>
Mon, 5 Nov 2012 19:26:56 +0000 (11:26 -0800)
committerDavid Zafman <david.zafman@inktank.com>
Tue, 11 Dec 2012 23:18:54 +0000 (15:18 -0800)
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 <david.zafman@inktank.com>
fs/fs-writeback.c

index be3efc4f64f4b8c556e1d6de5c2ff400f05731ab..a5307987979962392f5120c75fd8aa55ad2efe62 100644 (file)
@@ -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;