aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4callback.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2010-05-25 11:57:56 -0400
committerJ. Bruce Fields <bfields@citi.umich.edu>2010-05-31 12:43:51 -0400
commit378b7d37f90399b7c34373a5925450529afb917b (patch)
treef974624cf40892f1c523c0cb0e360268f8a615d7 /fs/nfsd/nfs4callback.c
parent67a3e12b05e055c0415c556a315a3d3eb637e29e (diff)
nfsd4: remove extra put() on callback errors
Since rpc_call_async() guarantees that the release method will be called even on failure, this put is wrong. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd/nfs4callback.c')
-rw-r--r--fs/nfsd/nfs4callback.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index eb78e7e22077..8a21db22bba4 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -752,7 +752,6 @@ static void _nfsd4_cb_recall(struct nfs4_delegation *dp)
752 .rpc_proc = &nfs4_cb_procedures[NFSPROC4_CLNT_CB_RECALL], 752 .rpc_proc = &nfs4_cb_procedures[NFSPROC4_CLNT_CB_RECALL],
753 .rpc_cred = callback_cred 753 .rpc_cred = callback_cred
754 }; 754 };
755 int status;
756 755
757 if (clnt == NULL) 756 if (clnt == NULL)
758 return; /* Client is shutting down; give up. */ 757 return; /* Client is shutting down; give up. */
@@ -760,10 +759,7 @@ static void _nfsd4_cb_recall(struct nfs4_delegation *dp)
760 args->args_op = dp; 759 args->args_op = dp;
761 msg.rpc_argp = args; 760 msg.rpc_argp = args;
762 dp->dl_retries = 1; 761 dp->dl_retries = 1;
763 status = rpc_call_async(clnt, &msg, RPC_TASK_SOFT, 762 rpc_call_async(clnt, &msg, RPC_TASK_SOFT, &nfsd4_cb_recall_ops, dp);
764 &nfsd4_cb_recall_ops, dp);
765 if (status)
766 nfs4_put_delegation(dp);
767} 763}
768 764
769void nfsd4_do_callback_rpc(struct work_struct *w) 765void nfsd4_do_callback_rpc(struct work_struct *w)