diff options
Diffstat (limited to 'fs/nfsd/nfs4callback.c')
| -rw-r--r-- | fs/nfsd/nfs4callback.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index c872bd07fc10..dbaf3f93f328 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c | |||
| @@ -441,8 +441,9 @@ nfsd4_probe_callback(struct nfs4_client *clp) | |||
| 441 | goto out_clnt; | 441 | goto out_clnt; |
| 442 | } | 442 | } |
| 443 | 443 | ||
| 444 | /* the task holds a reference to the nfs4_client struct */ | ||
| 445 | cb->cb_client = clnt; | 444 | cb->cb_client = clnt; |
| 445 | |||
| 446 | /* the task holds a reference to the nfs4_client struct */ | ||
| 446 | atomic_inc(&clp->cl_count); | 447 | atomic_inc(&clp->cl_count); |
| 447 | 448 | ||
| 448 | msg.rpc_cred = nfsd4_lookupcred(clp,0); | 449 | msg.rpc_cred = nfsd4_lookupcred(clp,0); |
| @@ -460,13 +461,12 @@ nfsd4_probe_callback(struct nfs4_client *clp) | |||
| 460 | out_rpciod: | 461 | out_rpciod: |
| 461 | atomic_dec(&clp->cl_count); | 462 | atomic_dec(&clp->cl_count); |
| 462 | rpciod_down(); | 463 | rpciod_down(); |
| 464 | cb->cb_client = NULL; | ||
| 463 | out_clnt: | 465 | out_clnt: |
| 464 | rpc_shutdown_client(clnt); | 466 | rpc_shutdown_client(clnt); |
| 465 | goto out_err; | ||
| 466 | out_err: | 467 | out_err: |
| 467 | dprintk("NFSD: warning: no callback path to client %.*s\n", | 468 | dprintk("NFSD: warning: no callback path to client %.*s\n", |
| 468 | (int)clp->cl_name.len, clp->cl_name.data); | 469 | (int)clp->cl_name.len, clp->cl_name.data); |
| 469 | cb->cb_client = NULL; | ||
| 470 | } | 470 | } |
| 471 | 471 | ||
| 472 | static void | 472 | static void |
