From 81062f6049c185b2a3810d6b22a1773655d9751a Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Thu, 17 Aug 2017 16:45:49 -0700 Subject: [PATCH] nvmf: disallow I/O connect on Discovery controller Discovery controllers only have an admin queue. Change-Id: I5d5a018a7df40164838a4b03f7f106a96db7e33b Signed-off-by: Daniel Verkamp Reviewed-on: https://review.gerrithub.io/374736 Tested-by: SPDK Automated Test System Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- lib/nvmf/ctrlr.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/nvmf/ctrlr.c b/lib/nvmf/ctrlr.c index a520e6b74..1a77910bd 100644 --- a/lib/nvmf/ctrlr.c +++ b/lib/nvmf/ctrlr.c @@ -282,6 +282,12 @@ spdk_nvmf_ctrlr_connect(struct spdk_nvmf_qpair *qpair, return; } + if (ctrlr->subsys->subtype == SPDK_NVMF_SUBTYPE_DISCOVERY) { + SPDK_ERRLOG("I/O connect not allowed on discovery controller\n"); + INVALID_CONNECT_CMD(qid); + return; + } + if (!ctrlr->vcprop.cc.bits.en) { SPDK_ERRLOG("Got I/O connect before ctrlr was enabled\n"); INVALID_CONNECT_CMD(qid);