diff options
author | Andrew Elble <aweits@rit.edu> | 2017-11-03 14:06:31 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2017-11-07 16:44:02 -0500 |
commit | 95da1b3a5aded124dd1bda1e3cdb876184813140 (patch) | |
tree | 6764bb8c88390cdfc1cdee2733b3be6767e3e9e2 /net/sunrpc/svc_xprt.c | |
parent | 77a08867a66796f8316449e030e0bfc84f2a3f66 (diff) | |
download | linux-95da1b3a5aded124dd1bda1e3cdb876184813140.tar.bz2 |
nfsd: deal with revoked delegations appropriately
If a delegation has been revoked by the server, operations using that
delegation should error out with NFS4ERR_DELEG_REVOKED in the >4.1
case, and NFS4ERR_BAD_STATEID otherwise.
The server needs NFSv4.1 clients to explicitly free revoked delegations.
If the server returns NFS4ERR_DELEG_REVOKED, the client will do that;
otherwise it may just forget about the delegation and be unable to
recover when it later sees SEQ4_STATUS_RECALLABLE_STATE_REVOKED set on a
SEQUENCE reply. That can cause the Linux 4.1 client to loop in its
stage manager.
Signed-off-by: Andrew Elble <aweits@rit.edu>
Reviewed-by: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: stable@vger.kernel.org
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/svc_xprt.c')
0 files changed, 0 insertions, 0 deletions