If ptlrpc_request_pack finish with 0, we need to call
ptlrpc_req_finished for later errors.
Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com>
Seagate-bug-id: MRP-4285
Change-Id: I97dec565c1aa95c4457b32cb5d72b4f8abdd3d1d
Reviewed-on: https://review.whamcloud.com/26319
Tested-by: Jenkins
Reviewed-by: Chris Horn <hornc@cray.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
MDS_BULK_PORTAL,
&ptlrpc_bulk_kiov_pin_ops);
if (desc == NULL) {
- ptlrpc_request_free(req);
+ ptlrpc_req_finished(req);
RETURN(-ENOMEM);
}
rc = l_wait_event_exclusive(cli->cl_destroy_waitq,
osc_can_send_destroy(cli), &lwi);
if (rc) {
- ptlrpc_request_free(req);
+ ptlrpc_req_finished(req);
RETURN(rc);
}
}
PTLRPC_BULK_PUT_SINK | PTLRPC_BULK_BUF_KIOV,
MDS_BULK_PORTAL,
&ptlrpc_bulk_kiov_pin_ops);
- if (desc == NULL) {
- ptlrpc_request_free(req);
- RETURN(-ENOMEM);
- }
+ if (desc == NULL)
+ GOTO(out, rc = -ENOMEM);
for (i = 0; i < npages; i++)
desc->bd_frag_ops->add_kiov_frag(desc, pages[i], 0,
PTLRPC_BULK_PUT_SINK | PTLRPC_BULK_BUF_KIOV,
MDS_BULK_PORTAL,
&ptlrpc_bulk_kiov_pin_ops);
- if (desc == NULL) {
- ptlrpc_request_free(req);
- RETURN(-ENOMEM);
- }
+ if (desc == NULL)
+ GOTO(out, rc = -ENOMEM);
/* req now owns desc and will free it when it gets freed */
for (i = 0; i < npages; i++)