/* cleanup the state of the bulk for it will be reused */
if (req->rq_resend || req->rq_send_state == LUSTRE_IMP_REPLAY)
desc->bd_nob_transferred = 0;
- else
- LASSERT(desc->bd_nob_transferred == 0);
+ else if (desc->bd_nob_transferred != 0)
+ /* If the network failed after an RPC was sent, this condition
+ * could happen. Rather than assert (was here before), return
+ * an EIO error. */
+ RETURN(-EIO);
desc->bd_failure = 0;
int ptlrpc_register_rqbd(struct ptlrpc_request_buffer_desc *rqbd)
{
struct ptlrpc_service *service = rqbd->rqbd_svcpt->scp_service;
- static struct lnet_process_id match_id = {LNET_NID_ANY, LNET_PID_ANY};
+ static struct lnet_process_id match_id = {
+ .nid = LNET_NID_ANY,
+ .pid = LNET_PID_ANY
+ };
int rc;
struct lnet_md md;
struct lnet_handle_me me_h;