aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2016-09-22 13:39:09 -0400
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2016-09-27 14:34:42 -0400
commitd7f3e4bfe78847aa792c86a348f0473ae3a8800f (patch)
tree05dc32546feb4dee1811e20829f30cf430d134c8 /fs/nfs
parent404ea3569af1e1d288db6ff0e7230104a3687f3c (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.c2
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}