diff --git a/lustre/ptlrpc/recov_thread.c b/lustre/ptlrpc/recov_thread.c index 60a4aaf1d320180ee477e153352f6d3375150425..60e8a130879d6694ab8c5c40aeda1001d6f1f082 100644 --- a/lustre/ptlrpc/recov_thread.c +++ b/lustre/ptlrpc/recov_thread.c @@ -234,9 +234,10 @@ static int llcd_send(struct llog_canceld_ctxt *llcd) req->rq_interpret_reply = llcd_interpret; req->rq_async_args.pointer_arg[0] = llcd; rc = ptlrpc_set_add_new_req(&lcm->lcm_pc, req); - if (rc) + if (rc) { + ptlrpc_request_free(req); GOTO(exit, rc); - + } RETURN(0); exit: CDEBUG(D_RPCTRACE, "Refused llcd %p\n", llcd);