nvmf: Add temporary special handling for AER
AER breaks our current model of requests/completion pairs. Temporarily handle it by immediately re-posting the capsule while we work on a real solution. Change-Id: Ie7a4d88030b6fff5a11c4697eec0f024f9737f27 Signed-off-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
04a0ac723c
commit
c9593cd17e
@ -1187,6 +1187,19 @@ spdk_nvmf_rdma_poll(struct spdk_nvmf_conn *conn)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
/* TEMPORARY SPECIAL CASE: For asynchronous event requests, just immediately
|
||||||
|
* re-post the capsule. */
|
||||||
|
struct spdk_nvme_cmd *cmd = &req->cmd->nvme_cmd;
|
||||||
|
|
||||||
|
if (conn->type == CONN_TYPE_AQ &&
|
||||||
|
cmd->opc == SPDK_NVME_OPC_ASYNC_EVENT_REQUEST) {
|
||||||
|
spdk_nvmf_rdma_request_release(conn, req);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
memset(req->rsp, 0, sizeof(*req->rsp));
|
memset(req->rsp, 0, sizeof(*req->rsp));
|
||||||
rc = spdk_nvmf_request_prep_data(req,
|
rc = spdk_nvmf_request_prep_data(req,
|
||||||
rdma_req->bb_mr->addr,
|
rdma_req->bb_mr->addr,
|
||||||
|
Loading…
Reference in New Issue
Block a user