2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 15:43:59 +08:00

NFSv4: Convert LOCKU to use nfs4_async_handle_exception()

Convert CLOSE so that it specifies the correct stateid and
inode for the error handling.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Trond Myklebust 2017-11-07 11:14:49 -05:00
parent e0dba0128a
commit 82571552a0

View File

@ -6071,6 +6071,10 @@ static void nfs4_locku_release_calldata(void *data)
static void nfs4_locku_done(struct rpc_task *task, void *data)
{
struct nfs4_unlockdata *calldata = data;
struct nfs4_exception exception = {
.inode = calldata->lsp->ls_state->inode,
.stateid = &calldata->arg.stateid,
};
if (!nfs4_sequence_done(task, &calldata->res.seq_res))
return;
@ -6094,8 +6098,10 @@ static void nfs4_locku_done(struct rpc_task *task, void *data)
rpc_restart_call_prepare(task);
break;
default:
if (nfs4_async_handle_error(task, calldata->server,
NULL, NULL) == -EAGAIN)
task->tk_status = nfs4_async_handle_exception(task,
calldata->server, task->tk_status,
&exception);
if (exception.retry)
rpc_restart_call_prepare(task);
}
nfs_release_seqid(calldata->arg.seqid);