diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2020-03-21 14:27:46 +0100 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2020-03-27 21:34:34 +0100 |
commit | 1f28476dcb98797e838a0c1dd6eae2fda213dd81 (patch) | |
tree | 52f33d1b249ce67888ead280432aac27d092fc81 /fs/nfs/write.c | |
parent | NFS: commit errors should be fatal (diff) | |
download | linux-1f28476dcb98797e838a0c1dd6eae2fda213dd81.tar.xz linux-1f28476dcb98797e838a0c1dd6eae2fda213dd81.zip |
NFS: Fix O_DIRECT commit verifier handling
Instead of trying to save the commit verifiers and checking them against
previous writes, adopt the same strategy as for buffered writes, of
just checking the verifiers at commit time.
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r-- | fs/nfs/write.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 1f8108f5a041..03b7f64f7c4f 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -1874,8 +1874,7 @@ static void nfs_commit_release_pages(struct nfs_commit_data *data) /* Okay, COMMIT succeeded, apparently. Check the verifier * returned by the server against all stored verfs. */ - if (verf->committed > NFS_UNSTABLE && - !nfs_write_verifier_cmp(&req->wb_verf, &verf->verifier)) { + if (nfs_write_match_verf(verf, req)) { /* We have a match */ if (req->wb_page) nfs_inode_remove_request(req); |