nvme/perf: fix the execption case for NVMe qpair polling.

If do not do that, we will continue polling. And checked
the exceptional handling of aio_check_io, it will just exit.
So we add such case, thus we shall not poll the qpair again.

This is especially useful when we use perf to test against
NVMe-oF target.

Change-Id: Ib820e0b80f80cfceb1ea5e08b359f50d9e360b30
Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
Reviewed-on: https://review.gerrithub.io/c/444325
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Ziye Yang 2019-02-13 14:04:11 +08:00 committed by Jim Harris
parent 2d0ce5b48b
commit a1c2b2d0a5

View File

@ -514,7 +514,13 @@ nvme_submit_io(struct perf_task *task, struct ns_worker_ctx *ns_ctx,
static void
nvme_check_io(struct ns_worker_ctx *ns_ctx)
{
spdk_nvme_qpair_process_completions(ns_ctx->u.nvme.qpair, g_max_completions);
int count;
count = spdk_nvme_qpair_process_completions(ns_ctx->u.nvme.qpair, g_max_completions);
if (count < 0) {
fprintf(stderr, "NVMe io qpair process completion error\n");
exit(1);
}
}
static void