From f8cf17f58e07e6728cf3547de9c9c423ac59bdc5 Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Mon, 20 Jul 2020 18:27:02 -0700 Subject: [PATCH] test/fuzz: fix nvmf fuzzer for AERs. Something changed about the way we support AERs in the target. Now, the AER commands remain queued in the target side causing the fuzzer to think it is timed out. Signed-off-by: Seth Howell Change-Id: I8e892a11d9922e84cd7a09e6adc8b69b6db4e8d2 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3453 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Tomasz Zawadzki Reviewed-by: Karol Latecki Community-CI: Mellanox Build Bot --- test/app/fuzz/nvme_fuzz/nvme_fuzz.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/app/fuzz/nvme_fuzz/nvme_fuzz.c b/test/app/fuzz/nvme_fuzz/nvme_fuzz.c index 911f77ab3..127bc1bff 100644 --- a/test/app/fuzz/nvme_fuzz/nvme_fuzz.c +++ b/test/app/fuzz/nvme_fuzz/nvme_fuzz.c @@ -456,7 +456,9 @@ submit_qp_cmds(struct nvme_fuzz_ns *ns, struct nvme_fuzz_qp *qp) while ((qp->submitted_cmd_counter < g_cmd_array_size || g_cmd_array_size == 0) && !TAILQ_EMPTY(&qp->free_ctx_objs)) { ctx = TAILQ_FIRST(&qp->free_ctx_objs); - prep_nvme_cmd(ns, qp, ctx); + do { + prep_nvme_cmd(ns, qp, ctx); + } while (qp->is_admin && ctx->cmd.opc == SPDK_NVME_OPC_ASYNC_EVENT_REQUEST); TAILQ_REMOVE(&qp->free_ctx_objs, ctx, link); TAILQ_INSERT_HEAD(&qp->outstanding_ctx_objs, ctx, link);