diff --git a/lib/nvmf/subsystem.c b/lib/nvmf/subsystem.c index b61755b41..ca71c3c48 100644 --- a/lib/nvmf/subsystem.c +++ b/lib/nvmf/subsystem.c @@ -995,6 +995,12 @@ spdk_nvmf_subsystem_add_ns(struct spdk_nvmf_subsystem *subsystem, struct spdk_bd return 0; } + if (spdk_bdev_get_block_size(bdev) % 512) { + SPDK_ERRLOG("Block size %u for Bdev %s is not supported now\n", + spdk_bdev_get_block_size(bdev), spdk_bdev_get_name(bdev)); + return 0; + } + spdk_nvmf_ns_opts_get_defaults(&opts, sizeof(opts)); if (user_opts) { memcpy(&opts, user_opts, spdk_min(sizeof(opts), opts_size)); diff --git a/test/unit/lib/nvmf/ctrlr_discovery.c/ctrlr_discovery_ut.c b/test/unit/lib/nvmf/ctrlr_discovery.c/ctrlr_discovery_ut.c index 88fceac34..8e6653861 100644 --- a/test/unit/lib/nvmf/ctrlr_discovery.c/ctrlr_discovery_ut.c +++ b/test/unit/lib/nvmf/ctrlr_discovery.c/ctrlr_discovery_ut.c @@ -50,6 +50,9 @@ DEFINE_STUB(spdk_bdev_module_claim_bdev, DEFINE_STUB_V(spdk_bdev_module_release_bdev, (struct spdk_bdev *bdev)); +DEFINE_STUB(spdk_bdev_get_block_size, uint32_t, + (const struct spdk_bdev *bdev), 512); + uint32_t spdk_env_get_current_core(void) { diff --git a/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c b/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c index bd5de9979..1a9791634 100644 --- a/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c +++ b/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c @@ -49,6 +49,9 @@ DEFINE_STUB(spdk_bdev_module_claim_bdev, DEFINE_STUB_V(spdk_bdev_module_release_bdev, (struct spdk_bdev *bdev)); +DEFINE_STUB(spdk_bdev_get_block_size, uint32_t, + (const struct spdk_bdev *bdev), 512); + static void _subsystem_send_msg(spdk_thread_fn fn, void *ctx, void *thread_ctx) {