Whamcloud - gitweb
Cosmetic cleanup.
[fs/lustre-release.git] / lustre / osc / osc_request.c
index d89ce93..aca92f1 100644 (file)
@@ -359,7 +359,7 @@ int osc_sendpage(struct obd_conn *conn, struct ptlrpc_request *req,
 
                 bulk = ptlrpc_prep_bulk(connection);
                 if (bulk == NULL)
-                        return -ENOMEM;
+                        RETURN(-ENOMEM);
 
                 bulk->b_buf = (void *)(unsigned long)src->addr;
                 bulk->b_buflen = src->len;
@@ -367,19 +367,19 @@ int osc_sendpage(struct obd_conn *conn, struct ptlrpc_request *req,
                 rc = ptlrpc_send_bulk(bulk, OSC_BULK_PORTAL);
                 if (rc != 0) {
                         CERROR("send_bulk failed: %d\n", rc);
+                        ptlrpc_free_bulk(bulk);
                         LBUG();
-                        return rc;
+                        RETURN(rc);
                 }
                 wait_event_interruptible(bulk->b_waitq,
                                          ptlrpc_check_bulk_sent(bulk));
 
-                if (bulk->b_flags == PTL_RPC_INTR) {
-                        EXIT;
-                        /* FIXME: hey hey, we leak here. */
-                        return -EINTR;
+                if (bulk->b_flags & PTL_RPC_FL_INTR) {
+                        ptlrpc_free_bulk(bulk);
+                        RETURN(-EINTR);
                 }
 
-                OBD_FREE(bulk, sizeof(*bulk));
+                ptlrpc_free_bulk(bulk);
         }
 
         return 0;