diff options
author | Ricardo Labiaga <Ricardo.Labiaga@netapp.com> | 2009-12-07 09:22:29 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-12-07 09:22:29 -0500 |
commit | bcfa49f6f931ce4097309ca8501d842a6f0ac860 (patch) | |
tree | df4906c0ed5d6a456bf728ce7792cade6eec2114 /fs/nfs/nfs4proc.c | |
parent | f455848a11cbbf15989609a46b24e81a6f13a08e (diff) |
nfs41: Handle session errors during delegation return
Add session error handling to nfs4_open_delegation_recall()
Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index acde77654521..96dfff12736d 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -1168,6 +1168,14 @@ int nfs4_open_delegation_recall(struct nfs_open_context *ctx, struct nfs4_state | |||
1168 | case -ENOENT: | 1168 | case -ENOENT: |
1169 | case -ESTALE: | 1169 | case -ESTALE: |
1170 | goto out; | 1170 | goto out; |
1171 | case -NFS4ERR_BADSESSION: | ||
1172 | case -NFS4ERR_BADSLOT: | ||
1173 | case -NFS4ERR_BAD_HIGH_SLOT: | ||
1174 | case -NFS4ERR_CONN_NOT_BOUND_TO_SESSION: | ||
1175 | case -NFS4ERR_DEADSESSION: | ||
1176 | nfs4_schedule_state_recovery( | ||
1177 | server->nfs_client); | ||
1178 | goto out; | ||
1171 | case -NFS4ERR_STALE_CLIENTID: | 1179 | case -NFS4ERR_STALE_CLIENTID: |
1172 | case -NFS4ERR_STALE_STATEID: | 1180 | case -NFS4ERR_STALE_STATEID: |
1173 | case -NFS4ERR_EXPIRED: | 1181 | case -NFS4ERR_EXPIRED: |