summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2017-06-20 19:35:38 -0400
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2017-07-13 15:58:05 -0400
commit1a4edf0f46b0cb87dd5020481d355cd5cc456c47 (patch)
tree0c8f39c5caaaa89331300226061c183429d8d1da /fs/nfs
parent919e3bd9a87593520a2c5dfda27bd3e6599852ed (diff)
downloadlinux-0-day-1a4edf0f46b0cb87dd5020481d355cd5cc456c47.tar.gz
linux-0-day-1a4edf0f46b0cb87dd5020481d355cd5cc456c47.tar.xz
NFS: Fix commit policy for non-blocking calls to nfs_write_inode()
Now that the writes will schedule a commit on their own, we don't need nfs_write_inode() to schedule one if there are outstanding writes, and we're being called in non-blocking mode. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/write.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 051197cb9195f..b1af5dee5e0a8 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1941,7 +1941,7 @@ int nfs_write_inode(struct inode *inode, struct writeback_control *wbc)
/* Don't commit yet if this is a non-blocking flush and there
* are a lot of outstanding writes for this mapping.
*/
- if (nfsi->commit_info.ncommit <= (nfsi->nrequests >> 1))
+ if (mapping_tagged(inode->i_mapping, PAGECACHE_TAG_WRITEBACK))
goto out_mark_dirty;
/* don't wait for the COMMIT response */