nvmf: fail AER command if AERL is exceeded
Change-Id: I5955630fb069c1aab47f38b910366a30b1d3bac5 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
b6c72d7b09
commit
776facc69b
@ -768,9 +768,18 @@ int
|
|||||||
spdk_nvmf_session_async_event_request(struct spdk_nvmf_request *req)
|
spdk_nvmf_session_async_event_request(struct spdk_nvmf_request *req)
|
||||||
{
|
{
|
||||||
struct spdk_nvmf_session *session = req->conn->sess;
|
struct spdk_nvmf_session *session = req->conn->sess;
|
||||||
|
struct spdk_nvme_cpl *rsp = &req->rsp->nvme_cpl;
|
||||||
|
|
||||||
SPDK_TRACELOG(SPDK_TRACE_NVMF, "Async Event Request\n");
|
SPDK_TRACELOG(SPDK_TRACE_NVMF, "Async Event Request\n");
|
||||||
|
|
||||||
|
assert(session->vcdata.aerl + 1 == 1);
|
||||||
|
if (session->aer_req != NULL) {
|
||||||
|
SPDK_TRACELOG(SPDK_TRACE_NVMF, "AERL exceeded\n");
|
||||||
|
rsp->status.sct = SPDK_NVME_SCT_COMMAND_SPECIFIC;
|
||||||
|
rsp->status.sc = SPDK_NVME_SC_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED;
|
||||||
|
return SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE;
|
||||||
|
}
|
||||||
|
|
||||||
session->aer_req = req;
|
session->aer_req = req;
|
||||||
return SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS;
|
return SPDK_NVMF_REQUEST_EXEC_STATUS_ASYNCHRONOUS;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user