summaryrefslogtreecommitdiff
path: root/fs/nfs/file.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2015-09-29 20:34:05 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2015-12-31 13:53:48 -0500
commitaf7cf057933f01dc7f33ddfb5e436ad598ed17ad (patch)
treeb7a37c7c1767aa6b7fa3f9434dc56f9069031cd2 /fs/nfs/file.c
parentdc602dd706cb64036132a7903ead1c67d9a7bcb9 (diff)
downloadlinux-riscv-af7cf057933f01dc7f33ddfb5e436ad598ed17ad.tar.gz
linux-riscv-af7cf057933f01dc7f33ddfb5e436ad598ed17ad.tar.bz2
linux-riscv-af7cf057933f01dc7f33ddfb5e436ad598ed17ad.zip
NFS: Allow multiple commit requests in flight per file
Allow synchronous RPC calls to wait for pending RPC calls to finish, but also allow asynchronous ones to just fire off another commit. With this patch, the xfstests generic/074 test completes in 226s instead of 242s Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/file.c')
-rw-r--r--fs/nfs/file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index 93e236429c5d..e6ef80ec699c 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -514,7 +514,7 @@ static void nfs_check_dirty_writeback(struct page *page,
* so it will not block due to pages that will shortly be freeable.
*/
nfsi = NFS_I(mapping->host);
- if (test_bit(NFS_INO_COMMIT, &nfsi->flags)) {
+ if (atomic_read(&nfsi->commit_info.rpcs_out)) {
*writeback = true;
return;
}