@@ -113,6 +113,7 @@ ompi_mtl_portals4_recv_progress(ptl_event_t *ev,
113113 ptl_request -> hdr_data = ev -> hdr_data ;
114114#endif
115115
116+ ptl_request -> super .super .ompi_req -> req_status ._ucount = ev -> mlength ;
116117 if (!MTL_PORTALS4_IS_SHORT_MSG (ev -> match_bits ) && ompi_mtl_portals4 .protocol == rndv ) {
117118 /* If it's not a short message and we're doing rndv, we
118119 only have the first part of the message. Issue the get
@@ -142,8 +143,6 @@ ompi_mtl_portals4_recv_progress(ptl_event_t *ev,
142143 __FILE__ , __LINE__ , ret );
143144 ptl_request -> super .super .ompi_req -> req_status .MPI_ERROR = ret ;
144145 }
145- ptl_request -> super .super .ompi_req -> req_status ._ucount = ev -> mlength ;
146-
147146 OPAL_OUTPUT_VERBOSE ((50 , ompi_mtl_base_framework .framework_output ,
148147 "Recv %lu (0x%lx) completed, expected" ,
149148 ptl_request -> opcount , ptl_request -> hdr_data ));
@@ -166,11 +165,7 @@ ompi_mtl_portals4_recv_progress(ptl_event_t *ev,
166165
167166 /* set the received length in the status, now that we know
168167 excatly how much data was sent. */
169- ptl_request -> super .super .ompi_req -> req_status ._ucount = ev -> mlength ;
170- if (ompi_mtl_portals4 .protocol == rndv ) {
171- ptl_request -> super .super .ompi_req -> req_status ._ucount +=
172- ompi_mtl_portals4 .eager_limit ;
173- }
168+ ptl_request -> super .super .ompi_req -> req_status ._ucount += ev -> mlength ;
174169
175170#if OMPI_MTL_PORTALS4_FLOW_CONTROL
176171 OPAL_THREAD_ADD32 (& ompi_mtl_portals4 .flowctl .send_slots , 1 );
@@ -281,10 +276,9 @@ ompi_mtl_portals4_recv_progress(ptl_event_t *ev,
281276 ptl_request -> super .super .completion_callback (& ptl_request -> super .super );
282277
283278 } else {
284- if (ev -> mlength > 0 ) {
285- /* if rndv or triggered, copy the eager part to the right place */
286- memcpy (ptl_request -> delivery_ptr , ev -> start , ev -> mlength );
287- }
279+
280+ /* For long messages in the overflow list, ev->mlength = 0 */
281+ ptl_request -> super .super .ompi_req -> req_status ._ucount = 0 ;
288282
289283 ret = read_msg ((char * ) ptl_request -> delivery_ptr + ev -> mlength ,
290284 ((msg_length > ptl_request -> delivery_len ) ?
0 commit comments