nvme/tcp: Make the return value consistent.

We should make nvme_tcp_ctrlr_connect_qpair always return
negative value if this function fails.

Signed-off-by: Ziye Yang <ziye.yang@intel.com>
Change-Id: I457e704e39d7a3acd298fd48e89e8ea51e2ed4ad
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3809
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
Ziye Yang 2020-08-17 20:46:05 +08:00 committed by Tomasz Zawadzki
parent c7f8e73906
commit d4d2e317b5

View File

@ -210,7 +210,7 @@ nvme_tcp_parse_addr(struct sockaddr_storage *sa, int family, const char *addr, c
if (res->ai_addrlen > sizeof(*sa)) { if (res->ai_addrlen > sizeof(*sa)) {
SPDK_ERRLOG("getaddrinfo() ai_addrlen %zu too large\n", (size_t)res->ai_addrlen); SPDK_ERRLOG("getaddrinfo() ai_addrlen %zu too large\n", (size_t)res->ai_addrlen);
ret = EINVAL; ret = -EINVAL;
} else { } else {
memcpy(sa, res->ai_addr, res->ai_addrlen); memcpy(sa, res->ai_addr, res->ai_addrlen);
} }
@ -1595,7 +1595,8 @@ nvme_tcp_ctrlr_connect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_qpa
break; break;
default: default:
SPDK_ERRLOG("Unhandled ADRFAM %d\n", ctrlr->trid.adrfam); SPDK_ERRLOG("Unhandled ADRFAM %d\n", ctrlr->trid.adrfam);
return -1; rc = -1;
return rc;
} }
SPDK_DEBUGLOG(SPDK_LOG_NVME, "adrfam %d ai_family %d\n", ctrlr->trid.adrfam, family); SPDK_DEBUGLOG(SPDK_LOG_NVME, "adrfam %d ai_family %d\n", ctrlr->trid.adrfam, family);
@ -1606,7 +1607,7 @@ nvme_tcp_ctrlr_connect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_qpa
rc = nvme_tcp_parse_addr(&dst_addr, family, ctrlr->trid.traddr, ctrlr->trid.trsvcid); rc = nvme_tcp_parse_addr(&dst_addr, family, ctrlr->trid.traddr, ctrlr->trid.trsvcid);
if (rc != 0) { if (rc != 0) {
SPDK_ERRLOG("dst_addr nvme_tcp_parse_addr() failed\n"); SPDK_ERRLOG("dst_addr nvme_tcp_parse_addr() failed\n");
return -1; return rc;
} }
if (ctrlr->opts.src_addr[0] || ctrlr->opts.src_svcid[0]) { if (ctrlr->opts.src_addr[0] || ctrlr->opts.src_svcid[0]) {
@ -1614,14 +1615,15 @@ nvme_tcp_ctrlr_connect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_qpa
rc = nvme_tcp_parse_addr(&src_addr, family, ctrlr->opts.src_addr, ctrlr->opts.src_svcid); rc = nvme_tcp_parse_addr(&src_addr, family, ctrlr->opts.src_addr, ctrlr->opts.src_svcid);
if (rc != 0) { if (rc != 0) {
SPDK_ERRLOG("src_addr nvme_tcp_parse_addr() failed\n"); SPDK_ERRLOG("src_addr nvme_tcp_parse_addr() failed\n");
return -1; return rc;
} }
} }
port = spdk_strtol(ctrlr->trid.trsvcid, 10); port = spdk_strtol(ctrlr->trid.trsvcid, 10);
if (port <= 0 || port >= INT_MAX) { if (port <= 0 || port >= INT_MAX) {
SPDK_ERRLOG("Invalid port: %s\n", ctrlr->trid.trsvcid); SPDK_ERRLOG("Invalid port: %s\n", ctrlr->trid.trsvcid);
return -1; rc = -1;
return rc;
} }
opts.opts_size = sizeof(opts); opts.opts_size = sizeof(opts);
@ -1631,7 +1633,8 @@ nvme_tcp_ctrlr_connect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_qpa
if (!tqpair->sock) { if (!tqpair->sock) {
SPDK_ERRLOG("sock connection error of tqpair=%p with addr=%s, port=%ld\n", SPDK_ERRLOG("sock connection error of tqpair=%p with addr=%s, port=%ld\n",
tqpair, ctrlr->trid.traddr, port); tqpair, ctrlr->trid.traddr, port);
return -1; rc = -1;
return rc;
} }
tqpair->maxr2t = NVME_TCP_MAX_R2T_DEFAULT; tqpair->maxr2t = NVME_TCP_MAX_R2T_DEFAULT;
@ -1643,13 +1646,13 @@ nvme_tcp_ctrlr_connect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_qpa
rc = nvme_tcp_qpair_icreq_send(tqpair); rc = nvme_tcp_qpair_icreq_send(tqpair);
if (rc != 0) { if (rc != 0) {
SPDK_ERRLOG("Unable to connect the tqpair\n"); SPDK_ERRLOG("Unable to connect the tqpair\n");
return -1; return rc;
} }
rc = nvme_fabric_qpair_connect(&tqpair->qpair, tqpair->num_entries); rc = nvme_fabric_qpair_connect(&tqpair->qpair, tqpair->num_entries);
if (rc < 0) { if (rc < 0) {
SPDK_ERRLOG("Failed to send an NVMe-oF Fabric CONNECT command\n"); SPDK_ERRLOG("Failed to send an NVMe-oF Fabric CONNECT command\n");
return -1; return rc;
} }
return 0; return 0;