Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 231187
b: refs/heads/master
c: a8f2800
h: refs/heads/master
i:
  231185: 17383c9
  231183: 9140bfb
v: v3
  • Loading branch information
J. Bruce Fields committed Jan 14, 2011
1 parent e769a10 commit f3a0289
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4795bb37effb7b8fe77e2d2034545d062d3788a8
refs/heads/master: a8f2800b4f7b76cecb7209cb6a7d2b14904fc711
21 changes: 9 additions & 12 deletions trunk/fs/nfsd/nfs4callback.c
Original file line number Diff line number Diff line change
Expand Up @@ -639,9 +639,12 @@ static void nfsd4_cb_prepare(struct rpc_task *task, void *calldata)
if (!nfsd41_cb_get_slot(clp, task))
return;
}
cb->cb_done = false;
spin_lock(&clp->cl_lock);
list_add(&cb->cb_per_client, &clp->cl_callbacks);
if (list_empty(&cb->cb_per_client)) {
/* This is the first call, not a restart */
cb->cb_done = false;
list_add(&cb->cb_per_client, &clp->cl_callbacks);
}
spin_unlock(&clp->cl_lock);
rpc_call_start(task);
}
Expand Down Expand Up @@ -678,10 +681,10 @@ static void nfsd4_cb_recall_done(struct rpc_task *task, void *calldata)

nfsd4_cb_done(task, calldata);

if (current_rpc_client == NULL) {
/* We're shutting down; give up. */
/* XXX: err, or is it ok just to fall through
* and rpc_restart_call? */
if (current_rpc_client != task->tk_client) {
/* We're shutting down or changing cl_cb_client; leave
* it to nfsd4_process_cb_update to restart the call if
* necessary. */
return;
}

Expand All @@ -699,12 +702,6 @@ static void nfsd4_cb_recall_done(struct rpc_task *task, void *calldata)
default:
/* Network partition? */
nfsd4_mark_cb_down(clp, task->tk_status);
if (current_rpc_client != task->tk_client) {
/* queue a callback on the new connection: */
atomic_inc(&dp->dl_count);
run_nfsd4_cb(&dp->dl_recall);
return;
}
}
if (dp->dl_retries--) {
rpc_delay(task, 2*HZ);
Expand Down

0 comments on commit f3a0289

Please sign in to comment.