diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-11-04 15:33:50 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-11-04 15:33:50 -0500 |
commit | 2c56617d76fa7b2a709d58abd7ed68889cc88b90 (patch) | |
tree | fb4e01de2057659b4ec80a812fa94d7b97359402 /fs/nfs | |
parent | d530838bfa507d67b40d13b00d9cbd7a46a47e78 (diff) |
NFSv4: Fix the handling of the error NFS4ERR_OLD_STATEID
Ensure that we retry the failed operation...
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/nfs4proc.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 9e492c2261c0..54ff465cf7cf 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -2595,12 +2595,10 @@ int nfs4_handle_exception(const struct nfs_server *server, int errorcode, struct | |||
2595 | case -NFS4ERR_GRACE: | 2595 | case -NFS4ERR_GRACE: |
2596 | case -NFS4ERR_DELAY: | 2596 | case -NFS4ERR_DELAY: |
2597 | ret = nfs4_delay(server->client, &exception->timeout); | 2597 | ret = nfs4_delay(server->client, &exception->timeout); |
2598 | if (ret == 0) | 2598 | if (ret != 0) |
2599 | exception->retry = 1; | 2599 | break; |
2600 | break; | ||
2601 | case -NFS4ERR_OLD_STATEID: | 2600 | case -NFS4ERR_OLD_STATEID: |
2602 | if (ret == 0) | 2601 | exception->retry = 1; |
2603 | exception->retry = 1; | ||
2604 | } | 2602 | } |
2605 | /* We failed to handle the error */ | 2603 | /* We failed to handle the error */ |
2606 | return nfs4_map_errors(ret); | 2604 | return nfs4_map_errors(ret); |