diff options
Diffstat (limited to 'fs/nfsd/nfs4callback.c')
| -rw-r--r-- | fs/nfsd/nfs4callback.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index c6eed2a3b093..4bc22c763de7 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c | |||
| @@ -525,6 +525,8 @@ static struct rpc_cred *callback_cred; | |||
| 525 | 525 | ||
| 526 | int set_callback_cred(void) | 526 | int set_callback_cred(void) | 
| 527 | { | 527 | { | 
| 528 | if (callback_cred) | ||
| 529 | return 0; | ||
| 528 | callback_cred = rpc_lookup_machine_cred(); | 530 | callback_cred = rpc_lookup_machine_cred(); | 
| 529 | if (!callback_cred) | 531 | if (!callback_cred) | 
| 530 | return -ENOMEM; | 532 | return -ENOMEM; | 
| @@ -542,7 +544,8 @@ void do_probe_callback(struct nfs4_client *clp) | |||
| 542 | }; | 544 | }; | 
| 543 | int status; | 545 | int status; | 
| 544 | 546 | ||
| 545 | status = rpc_call_async(cb->cb_client, &msg, RPC_TASK_SOFT, | 547 | status = rpc_call_async(cb->cb_client, &msg, | 
| 548 | RPC_TASK_SOFT | RPC_TASK_SOFTCONN, | ||
| 546 | &nfsd4_cb_probe_ops, (void *)clp); | 549 | &nfsd4_cb_probe_ops, (void *)clp); | 
| 547 | if (status) { | 550 | if (status) { | 
| 548 | warn_no_callback_path(clp, status); | 551 | warn_no_callback_path(clp, status); | 
