From e7650ff48a0ea295ecd11c4a0a38838be17e7eb9 Mon Sep 17 00:00:00 2001 From: Gleb Natapov Date: Thu, 7 Sep 2006 10:42:35 +0000 Subject: [PATCH] Bad things happen if min_rdma_size is smaller then data delivered in the RNDV packet. Fix this. This commit was SVN r11548. --- ompi/mca/pml/ob1/pml_ob1_recvreq.c | 6 +++--- ompi/mca/pml/ob1/pml_ob1_sendreq.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ompi/mca/pml/ob1/pml_ob1_recvreq.c b/ompi/mca/pml/ob1/pml_ob1_recvreq.c index 528e51ec78..853674e66f 100644 --- a/ompi/mca/pml/ob1/pml_ob1_recvreq.c +++ b/ompi/mca/pml/ob1/pml_ob1_recvreq.c @@ -260,7 +260,7 @@ static int mca_pml_ob1_recv_request_ack( recvreq->req_rdma_cnt != 0) { /* start rdma at current fragment offset - no need to ack */ - recvreq->req_rdma_offset = recvreq->req_bytes_received; + recvreq->req_rdma_offset = bytes_received; return OMPI_SUCCESS; /* are rdma devices available for long rdma protocol */ @@ -296,8 +296,8 @@ static int mca_pml_ob1_recv_request_ack( /* use convertor to figure out the rdma offset for this request */ recvreq->req_rdma_offset = bml_endpoint->btl_rdma_offset; - if(recvreq->req_rdma_offset < recvreq->req_bytes_received) { - recvreq->req_rdma_offset = recvreq->req_bytes_received; + if(recvreq->req_rdma_offset < bytes_received) { + recvreq->req_rdma_offset = bytes_received; } ompi_convertor_set_position( &recvreq->req_recv.req_convertor, &recvreq->req_rdma_offset ); diff --git a/ompi/mca/pml/ob1/pml_ob1_sendreq.c b/ompi/mca/pml/ob1/pml_ob1_sendreq.c index 28a1cd9e64..3a240a9bb0 100644 --- a/ompi/mca/pml/ob1/pml_ob1_sendreq.c +++ b/ompi/mca/pml/ob1/pml_ob1_sendreq.c @@ -867,7 +867,7 @@ int mca_pml_ob1_send_request_schedule_exclusive( do { /* allocate remaining bytes to BTLs */ - size_t bytes_remaining = sendreq->req_rdma_offset - + int32_t bytes_remaining = sendreq->req_rdma_offset - sendreq->req_send_offset; size_t prev_bytes_remaining = 0, num_fail = 0;