]> git.baikalelectronics.ru Git - kernel.git/commit
nfsd: Replace use of rwsem with errseq_t
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Sun, 19 Dec 2021 01:38:01 +0000 (20:38 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Sat, 8 Jan 2022 19:42:02 +0000 (14:42 -0500)
commit3d90016fbb8d2640c5a2ce6e30fc3d514d49f366
tree153fdbfe95cc5a1db17151d7e60ec132848e36ef
parent2167aa596739da329671a71eab239b64ca16d636
nfsd: Replace use of rwsem with errseq_t

The nfsd_file nf_rwsem is currently being used to separate file write
and commit instances to ensure that we catch errors and apply them to
the correct write/commit.
We can improve scalability at the expense of a little accuracy (some
extra false positives) by replacing the nf_rwsem with more careful
use of the errseq_t mechanism to track errors across the different
operations.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
[ cel: rebased on zero-verifier fix ]
fs/nfsd/filecache.c
fs/nfsd/filecache.h
fs/nfsd/nfs4proc.c
fs/nfsd/vfs.c