diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2010-05-25 11:57:56 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2010-05-31 12:43:51 -0400 |
commit | 378b7d37f90399b7c34373a5925450529afb917b (patch) | |
tree | f974624cf40892f1c523c0cb0e360268f8a615d7 /fs | |
parent | 67a3e12b05e055c0415c556a315a3d3eb637e29e (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')
-rw-r--r-- | fs/nfsd/nfs4callback.c | 6 |
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 | ||
769 | void nfsd4_do_callback_rpc(struct work_struct *w) | 765 | void nfsd4_do_callback_rpc(struct work_struct *w) |