Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82571552 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

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: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
parent e0dba012
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -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);