Whamcloud - gitweb
Branch b_release_1_6_7
authorbobijam <bobijam>
Mon, 22 Dec 2008 02:38:03 +0000 (02:38 +0000)
committerbobijam <bobijam>
Mon, 22 Dec 2008 02:38:03 +0000 (02:38 +0000)
b=16972
o=Brian Behlendorf (behlendorf1@llnl.gov)
i=robert.read (rread)
i=adilger

Fix request leaks.

lustre/mgc/mgc_request.c

index fc788c5..5a7714b 100644 (file)
@@ -742,12 +742,13 @@ static int mgc_target_register(struct obd_export *exp,
                 RETURN(-ENOMEM);
 
         req_mti = lustre_msg_buf(req->rq_reqmsg, REQ_REC_OFF, sizeof(*req_mti));
-        if (!req_mti)
+        if (!req_mti) {
+                ptlrpc_req_finished(req);
                 RETURN(-ENOMEM);
-        memcpy(req_mti, mti, sizeof(*req_mti));
+        }
 
+        memcpy(req_mti, mti, sizeof(*req_mti));
         ptlrpc_req_set_repsize(req, 2, rep_size);
-
         CDEBUG(D_MGC, "register %s\n", mti->mti_svname);
 
         rc = ptlrpc_queue_wait(req);
@@ -781,11 +782,14 @@ static int mgc_set_mgs_param(struct obd_export *exp,
                 RETURN(-ENOMEM);
 
         req_msp = lustre_msg_buf(req->rq_reqmsg, REQ_REC_OFF, sizeof(*req_msp));
-        if (!req_msp)
+        if (!req_msp) {
+                ptlrpc_req_finished(req);
                 RETURN(-ENOMEM);
+        }
 
         memcpy(req_msp, msp, sizeof(*req_msp));
         ptlrpc_req_set_repsize(req, 2, rep_size);
+
         rc = ptlrpc_queue_wait(req);
         if (!rc) {
                 rep_msp = lustre_swab_repbuf(req, REPLY_REC_OFF,