mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 14:41:39 +00:00
NFSv4: Fix retry issues with nfs41_test/free_stateid
_nfs41_free_stateid() needs to be cached by the session, but nfs41_test_stateid() may return NFS4ERR_RETRY_UNCACHED_REP (in which case we should just retry). 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>
This commit is contained in:
parent
304020fe48
commit
76e8a1bd14
@ -8929,6 +8929,7 @@ static void nfs4_handle_delay_or_session_error(struct nfs_server *server,
|
||||
exception->retry = 0;
|
||||
switch(err) {
|
||||
case -NFS4ERR_DELAY:
|
||||
case -NFS4ERR_RETRY_UNCACHED_REP:
|
||||
nfs4_handle_exception(server, err, exception);
|
||||
break;
|
||||
case -NFS4ERR_BADSESSION:
|
||||
@ -9034,7 +9035,7 @@ static struct rpc_task *_nfs41_free_stateid(struct nfs_server *server,
|
||||
|
||||
msg.rpc_argp = &data->args;
|
||||
msg.rpc_resp = &data->res;
|
||||
nfs4_init_sequence(&data->args.seq_args, &data->res.seq_res, 0);
|
||||
nfs4_init_sequence(&data->args.seq_args, &data->res.seq_res, 1);
|
||||
if (privileged)
|
||||
nfs4_set_sequence_privileged(&data->args.seq_args);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user