From d61ddd3c932580b0ea37b72a57702cad04bbbf15 Mon Sep 17 00:00:00 2001 From: Ziye Yang Date: Thu, 12 Jan 2017 13:21:53 +0800 Subject: [PATCH] nvme/rdma: Support directly connect via trid Preivously, we only supports probe the NVMf target via discovery info, now we can support to directly to connect it. Change-Id: I08ce1d95de6744286357e68b48c97b773b902ac8 Signed-off-by: Ziye Yang --- lib/nvme/nvme_rdma.c | 6 ++++-- test/nvmf/host/identify.sh | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/nvme/nvme_rdma.c b/lib/nvme/nvme_rdma.c index c9df95142..5ec6a9643 100644 --- a/lib/nvme/nvme_rdma.c +++ b/lib/nvme/nvme_rdma.c @@ -1151,9 +1151,11 @@ nvme_rdma_ctrlr_scan(const struct spdk_nvme_transport_id *discovery_trid, rc = nvme_fabrics_get_log_discovery_page(discovery_ctrlr, buffer, sizeof(buffer)); if (rc < 0) { - SPDK_ERRLOG("nvme_fabrics_get_log_discovery_page error\n"); + SPDK_TRACELOG(SPDK_TRACE_NVME, "nvme_fabrics_get_log_discovery_page error\n"); nvme_ctrlr_destruct(discovery_ctrlr); - return -1; + /* It is not a discovery_ctrlr info and try to directly connect it */ + rc = nvme_ctrlr_probe(discovery_trid, NULL, probe_cb, cb_ctx); + return rc; } log_page = (struct spdk_nvmf_discovery_log_page *)buffer; diff --git a/test/nvmf/host/identify.sh b/test/nvmf/host/identify.sh index 1aa7fba7c..59229f294 100755 --- a/test/nvmf/host/identify.sh +++ b/test/nvmf/host/identify.sh @@ -32,6 +32,7 @@ bdevs="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SI $rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode1 'transport:RDMA traddr:192.168.100.8 trsvcid:4420' '' -s SPDK00000000000001 -n "$bdevs" $rootdir/examples/nvme/identify/identify -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT" -n nqn.2014-08.org.nvmexpress.discovery -t all +$rootdir/examples/nvme/identify/identify -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT" -n nqn.2016-06.io.spdk:cnode1 -t all sync $rpc_py delete_nvmf_subsystem nqn.2016-06.io.spdk:cnode1