Skip to content

Commit

Permalink
NFSv4: Convert LOCKU to use nfs4_async_handle_exception()
Browse files Browse the repository at this point in the history
Convert CLOSE so that it specifies the correct stateid and
inode for the error handling.

Signed-off-by: Trond Myklebust <[email protected]>
  • Loading branch information
trondmypd committed Jan 15, 2018
1 parent e0dba01 commit 8257155
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions fs/nfs/nfs4proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand Down

0 comments on commit 8257155

Please sign in to comment.