diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-09-22 13:39:09 -0400 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2016-09-27 14:34:42 -0400 |
commit | d7f3e4bfe78847aa792c86a348f0473ae3a8800f (patch) | |
tree | 05dc32546feb4dee1811e20829f30cf430d134c8 /fs/nfs | |
parent | 404ea3569af1e1d288db6ff0e7230104a3687f3c (diff) |
NFSv4: nfs4_handle_setlk_error() handle expiration as revoke case
If the server tells us our stateid has expired, then handle that as if
it was revoked.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Tested-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/nfs4proc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 89887f15946e..27004f5262e6 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -6067,6 +6067,7 @@ static void nfs4_handle_setlk_error(struct nfs_server *server, struct nfs4_lock_ | |||
6067 | { | 6067 | { |
6068 | switch (error) { | 6068 | switch (error) { |
6069 | case -NFS4ERR_ADMIN_REVOKED: | 6069 | case -NFS4ERR_ADMIN_REVOKED: |
6070 | case -NFS4ERR_EXPIRED: | ||
6070 | case -NFS4ERR_BAD_STATEID: | 6071 | case -NFS4ERR_BAD_STATEID: |
6071 | lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED; | 6072 | lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED; |
6072 | if (new_lock_owner != 0 || | 6073 | if (new_lock_owner != 0 || |
@@ -6075,7 +6076,6 @@ static void nfs4_handle_setlk_error(struct nfs_server *server, struct nfs4_lock_ | |||
6075 | break; | 6076 | break; |
6076 | case -NFS4ERR_STALE_STATEID: | 6077 | case -NFS4ERR_STALE_STATEID: |
6077 | lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED; | 6078 | lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED; |
6078 | case -NFS4ERR_EXPIRED: | ||
6079 | nfs4_schedule_lease_recovery(server->nfs_client); | 6079 | nfs4_schedule_lease_recovery(server->nfs_client); |
6080 | }; | 6080 | }; |
6081 | } | 6081 | } |