From ed9f26f9c0f7459c035bb316958cc79c22c40171 Mon Sep 17 00:00:00 2001 From: Changpeng Liu Date: Mon, 28 Mar 2022 13:07:55 +0800 Subject: [PATCH] examples/nvme/perf: check block size after IO flags When PRACT=0, the perf tool will skip tests for extended LBA format, fix it now. Change-Id: I12e6bc10bb16148a02a30b5d20b540166d45c242 Signed-off-by: Changpeng Liu Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12053 Reviewed-by: Aleksey Marchuk Reviewed-by: Tomasz Zawadzki Reviewed-by: Dong Yi Reviewed-by: Shuhei Matsumoto Tested-by: SPDK CI Jenkins Community-CI: Broadcom CI Community-CI: Mellanox Build Bot --- examples/nvme/perf/perf.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/examples/nvme/perf/perf.c b/examples/nvme/perf/perf.c index b897709e3..2155acb8a 100644 --- a/examples/nvme/perf/perf.c +++ b/examples/nvme/perf/perf.c @@ -1210,13 +1210,6 @@ register_ns(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_ns *ns) return; } - if (g_io_size_bytes % sector_size != 0) { - printf("WARNING: IO size %u (-o) is not a multiple of nsid %u sector size %u." - " Removing this ns from test\n", g_io_size_bytes, spdk_nvme_ns_get_id(ns), sector_size); - g_warn = true; - return; - } - max_xfer_size = spdk_nvme_ns_get_max_io_xfer_size(ns); spdk_nvme_ctrlr_get_default_io_qpair_opts(ctrlr, &opts, sizeof(opts)); /* NVMe driver may add additional entries based on @@ -1273,6 +1266,14 @@ register_ns(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_ns *ns) entry->block_size = spdk_nvme_ns_get_sector_size(ns); } + if (g_io_size_bytes % entry->block_size != 0) { + printf("WARNING: IO size %u (-o) is not a multiple of nsid %u sector size %u." + " Removing this ns from test\n", g_io_size_bytes, spdk_nvme_ns_get_id(ns), entry->block_size); + g_warn = true; + free(entry); + return; + } + if (g_max_io_md_size < entry->md_size) { g_max_io_md_size = entry->md_size; }