nvme/identify: change trid to g_trid

Also do some cleanups in parse_args to fix and
optimize the logic.

Change-Id: If00929f45a89be820f2c60e6532f068f9d6abc3b
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
This commit is contained in:
Ziye Yang 2017-01-13 07:33:31 +08:00 committed by Daniel Verkamp
parent d61ddd3c93
commit 1c6d354d41

View File

@ -69,7 +69,7 @@ static struct spdk_nvme_intel_marketing_description_page intel_md_page;
static bool g_hex_dump = false; static bool g_hex_dump = false;
static struct spdk_nvme_transport_id trid; static struct spdk_nvme_transport_id g_trid;
static void static void
hex_dump(const void *data, size_t size) hex_dump(const void *data, size_t size)
@ -889,8 +889,8 @@ parse_args(int argc, char **argv)
{ {
int op, rc; int op, rc;
trid.trtype = SPDK_NVME_TRANSPORT_PCIE; g_trid.trtype = SPDK_NVME_TRANSPORT_PCIE;
snprintf(trid.subnqn, sizeof(trid.subnqn), "%s", SPDK_NVMF_DISCOVERY_NQN); snprintf(g_trid.subnqn, sizeof(g_trid.subnqn), "%s", SPDK_NVMF_DISCOVERY_NQN);
while ((op = getopt(argc, argv, "a:n:s:t:xH")) != -1) { while ((op = getopt(argc, argv, "a:n:s:t:xH")) != -1) {
switch (op) { switch (op) {
@ -912,15 +912,15 @@ parse_args(int argc, char **argv)
#endif #endif
break; break;
case 'a': case 'a':
trid.trtype = SPDK_NVME_TRANSPORT_RDMA; g_trid.trtype = SPDK_NVME_TRANSPORT_RDMA;
trid.adrfam = SPDK_NVMF_ADRFAM_IPV4; g_trid.adrfam = SPDK_NVMF_ADRFAM_IPV4;
snprintf(trid.traddr, sizeof(trid.traddr), "%s", optarg); snprintf(g_trid.traddr, sizeof(g_trid.traddr), "%s", optarg);
break; break;
case 's': case 's':
snprintf(trid.trsvcid, sizeof(trid.trsvcid), "%s", optarg); snprintf(g_trid.trsvcid, sizeof(g_trid.trsvcid), "%s", optarg);
break; break;
case 'n': case 'n':
snprintf(trid.subnqn, sizeof(trid.subnqn), "%s", optarg); snprintf(g_trid.subnqn, sizeof(g_trid.subnqn), "%s", optarg);
break; break;
case 'H': case 'H':
default: default:
@ -929,17 +929,8 @@ parse_args(int argc, char **argv)
} }
} }
if (!trid.traddr || !trid.trsvcid || !trid.subnqn) { if ((strlen(g_trid.traddr) == 0) || (strlen(g_trid.trsvcid) == 0) ||
return 0; (strlen(g_trid.subnqn) == 0)) {
}
if ((strlen(trid.traddr) > 255)) {
printf("The string len of traddr should <= 255\n");
return 0;
}
if (strlen(trid.subnqn) >= SPDK_NVMF_NQN_MAX_LEN) {
printf("NQN must be less than %d bytes long\n", SPDK_NVMF_NQN_MAX_LEN);
return 0; return 0;
} }
@ -989,8 +980,8 @@ int main(int argc, char **argv)
} }
rc = 0; rc = 0;
if (trid.trtype == SPDK_NVME_TRANSPORT_RDMA) { if (g_trid.trtype == SPDK_NVME_TRANSPORT_RDMA) {
if (spdk_nvme_probe(&trid, NULL, probe_cb, attach_cb, NULL) != 0) { if (spdk_nvme_probe(&g_trid, NULL, probe_cb, attach_cb, NULL) != 0) {
fprintf(stderr, "spdk_nvme_probe() failed\n"); fprintf(stderr, "spdk_nvme_probe() failed\n");
} }
} }