From 32a046d7b8bdbf4f4d0b3214afe6d7b3c018478c Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Fri, 19 Aug 2016 11:13:25 -0700 Subject: [PATCH] nvmf: fill out SUBNQN field in Identify Controller SUBNQN is a UTF-8 null terminated string according to the NVMe base spec, so pad it with zeroes using strncpy(). Change-Id: I486161b26d91f3ea1fd17428e220b9f20a874732 Signed-off-by: Daniel Verkamp --- lib/nvmf/session.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/nvmf/session.c b/lib/nvmf/session.c index f5dd29c6a..0833e911b 100644 --- a/lib/nvmf/session.c +++ b/lib/nvmf/session.c @@ -58,6 +58,8 @@ nvmf_init_discovery_session_properties(struct nvmf_session *session) session->vcdata.sgls.keyed_sgl = 1; session->vcdata.sgls.sgl_offset = 1; + strncpy((char *)session->vcdata.subnqn, SPDK_NVMF_DISCOVERY_NQN, sizeof(session->vcdata.subnqn)); + /* Properties */ session->vcprop.cap.raw = 0; session->vcprop.cap.bits.cqr = 1; /* NVMF specification required */ @@ -105,6 +107,8 @@ nvmf_init_nvme_session_properties(struct nvmf_session *session) /* TODO: this should be set by the transport */ session->vcdata.nvmf_specific.ioccsz += g_nvmf_tgt.in_capsule_data_size / 16; + strncpy((char *)session->vcdata.subnqn, session->subsys->subnqn, sizeof(session->vcdata.subnqn)); + SPDK_TRACELOG(SPDK_TRACE_NVMF, " ctrlr data: maxcmd %x\n", session->vcdata.maxcmd); SPDK_TRACELOG(SPDK_TRACE_NVMF, " ext ctrlr data: ioccsz %x\n",