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; }