ceph: improving efficiency of syncfs

"Linux Kernel Mailing List" <[email protected]>
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/16515a6d54183349b858b9c05e483afc55fa7948
Commit:     16515a6d54183349b858b9c05e483afc55fa7948
Parent:     affff07739392920d3d2095212c72af220481b95
Refname:    refs/heads/master
Author:     Chengguang Xu <[email protected]>
AuthorDate: Tue Jan 30 10:02:30 2018 +0800
Committer:  Ilya Dryomov <[email protected]>
CommitDate: Tue Jan 30 21:10:15 2018 +0100

    ceph: improving efficiency of syncfs
    
    write_inode() could be called variety of reasons, in the case of syncfs(2)
    there is no need to wait for flush getting completed in write_inode(),
    ->sync_fs is for guaranteeing flush completion for all inodes at that point.
    
    Signed-off-by: Chengguang Xu <[email protected]>
    Reviewed-by: "Yan, Zheng" <[email protected]>
    Signed-off-by: Ilya Dryomov <[email protected]>
---
 fs/ceph/caps.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c
index 8e66fb0e743d..6582c4507e6c 100644
--- a/fs/ceph/caps.c
+++ b/fs/ceph/caps.c
@@ -2207,7 +2207,7 @@ int ceph_write_inode(struct inode *inode, struct writeback_control *wbc)
 	u64 flush_tid;
 	int err = 0;
 	int dirty;
-	int wait = wbc->sync_mode == WB_SYNC_ALL;
+	int wait = (wbc->sync_mode == WB_SYNC_ALL && !wbc->for_sync);
 
 	dout("write_inode %p wait=%d\n", inode, wait);
 	if (wait) {
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.