9pnet_rdma: update request status during send

This will be needed by the flush logic.

Signed-off-by: Simon Derr <simon.derr@bull.net>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
This commit is contained in:
Simon Derr 2014-03-10 16:38:50 +01:00 committed by Eric Van Hensbergen
parent afd8d65411
commit 3f9d5b8dfd

View File

@ -510,6 +510,11 @@ dont_need_post_recv:
goto send_error; goto send_error;
} }
/* Mark request as `sent' *before* we actually send it,
* because doing if after could erase the REQ_STATUS_RCVD
* status in case of a very fast reply.
*/
req->status = REQ_STATUS_SENT;
err = ib_post_send(rdma->qp, &wr, &bad_wr); err = ib_post_send(rdma->qp, &wr, &bad_wr);
if (err) if (err)
goto send_error; goto send_error;
@ -519,6 +524,7 @@ dont_need_post_recv:
/* Handle errors that happened during or while preparing the send: */ /* Handle errors that happened during or while preparing the send: */
send_error: send_error:
req->status = REQ_STATUS_ERROR;
kfree(c); kfree(c);
p9_debug(P9_DEBUG_ERROR, "Error %d in rdma_request()\n", err); p9_debug(P9_DEBUG_ERROR, "Error %d in rdma_request()\n", err);