diff --git a/doc/jsonrpc.md b/doc/jsonrpc.md index 106864984..d06d7fb0e 100644 --- a/doc/jsonrpc.md +++ b/doc/jsonrpc.md @@ -3540,7 +3540,6 @@ Example response: { "portals": [ { - "cpumask": "0x2", "host": "127.0.0.1", "port": "3260" } diff --git a/lib/iscsi/iscsi_rpc.c b/lib/iscsi/iscsi_rpc.c index a07e7cdd5..876df4f48 100644 --- a/lib/iscsi/iscsi_rpc.c +++ b/lib/iscsi/iscsi_rpc.c @@ -722,7 +722,6 @@ SPDK_RPC_REGISTER_ALIAS_DEPRECATED(iscsi_get_portal_groups, get_portal_groups) struct rpc_portal { char *host; char *port; - char *cpumask; }; struct rpc_portal_list { @@ -740,7 +739,6 @@ free_rpc_portal(struct rpc_portal *portal) { free(portal->host); free(portal->port); - free(portal->cpumask); } static void @@ -763,7 +761,6 @@ free_rpc_portal_group(struct rpc_portal_group *pg) static const struct spdk_json_object_decoder rpc_portal_decoders[] = { {"host", offsetof(struct rpc_portal, host), spdk_json_decode_string}, {"port", offsetof(struct rpc_portal, port), spdk_json_decode_string}, - {"cpumask", offsetof(struct rpc_portal, cpumask), spdk_json_decode_string, true}, }; static int @@ -814,11 +811,6 @@ spdk_rpc_iscsi_create_portal_group(struct spdk_jsonrpc_request *request, goto out; } for (i = 0; i < req.portal_list.num_portals; i++) { - if (req.portal_list.portals[i].cpumask) { - SPDK_WARNLOG("A portal was specified with a CPU mask which is no longer supported.\n"); - SPDK_WARNLOG("Ignoring the cpumask.\n"); - } - portal = spdk_iscsi_portal_create(req.portal_list.portals[i].host, req.portal_list.portals[i].port); if (portal == NULL) { diff --git a/lib/iscsi/portal_grp.c b/lib/iscsi/portal_grp.c index 19432da2b..774ba84c8 100644 --- a/lib/iscsi/portal_grp.c +++ b/lib/iscsi/portal_grp.c @@ -242,9 +242,9 @@ static int iscsi_parse_portal(const char *portalstring, struct spdk_iscsi_portal **ip, int dry_run) { - char *host = NULL, *port = NULL, *cpumask = NULL; + char *host = NULL, *port = NULL; int len, rc = -1; - const char *p, *q; + const char *p; if (portalstring == NULL) { SPDK_ERRLOG("portal error\n"); @@ -290,54 +290,19 @@ iscsi_parse_portal(const char *portalstring, struct spdk_iscsi_portal **ip, snprintf(port, PORTNUMSTRLEN, "%d", DEFAULT_PORT); } } else { - if (p[0] != ':') { - SPDK_ERRLOG("portal error\n"); - goto error_out; - } - q = strchr(portalstring, '@'); - if (q == NULL) { - q = portalstring + strlen(portalstring); - } - if (q == p) { - SPDK_ERRLOG("no port specified\n"); - goto error_out; - } - if (!dry_run) { - len = q - p - 1; + p++; + len = strlen(p); port = malloc(len + 1); if (port == NULL) { SPDK_ERRLOG("malloc() failed for port\n"); goto error_out; } - memcpy(port, p + 1, len); + memcpy(port, p, len); port[len] = '\0'; } } - /* Cpumask (IPv4 and IPv6 are the same) */ - p = strchr(portalstring, '@'); - if (p != NULL) { - q = portalstring + strlen(portalstring); - if (q == p) { - SPDK_ERRLOG("no cpumask specified\n"); - goto error_out; - } - if (!dry_run) { - len = q - p - 1; - cpumask = malloc(len + 1); - if (cpumask == NULL) { - SPDK_ERRLOG("malloc() failed for cpumask\n"); - goto error_out; - } - memcpy(cpumask, p + 1, len); - cpumask[len] = '\0'; - } - } - if (cpumask) { - SPDK_WARNLOG("The iSCSI target no longer supports setting a per-portal cpumask.\n"); - } - if (!dry_run) { *ip = spdk_iscsi_portal_create(host, port); if (!*ip) { @@ -349,7 +314,6 @@ iscsi_parse_portal(const char *portalstring, struct spdk_iscsi_portal **ip, error_out: free(host); free(port); - free(cpumask); return rc; } diff --git a/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c b/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c index 3bfc08110..b9e943989 100644 --- a/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c +++ b/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c @@ -141,7 +141,7 @@ portal_create_twice_case(void) static void parse_portal_ipv4_normal_case(void) { - const char *string = "192.168.2.0:3260@1"; + const char *string = "192.168.2.0:3260"; const char *host_str = "192.168.2.0"; const char *port_str = "3260"; struct spdk_iscsi_portal *p = NULL; @@ -160,44 +160,6 @@ parse_portal_ipv4_normal_case(void) static void parse_portal_ipv6_normal_case(void) -{ - const char *string = "[2001:ad6:1234::]:3260@1"; - const char *host_str = "[2001:ad6:1234::]"; - const char *port_str = "3260"; - struct spdk_iscsi_portal *p = NULL; - int rc; - - rc = iscsi_parse_portal(string, &p, 0); - CU_ASSERT(rc == 0); - SPDK_CU_ASSERT_FATAL(p != NULL); - CU_ASSERT(strcmp(p->host, host_str) == 0); - CU_ASSERT(strcmp(p->port, port_str) == 0); - - spdk_iscsi_portal_destroy(p); - CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); -} - -static void -parse_portal_ipv4_skip_cpumask_case(void) -{ - const char *string = "192.168.2.0:3260"; - const char *host_str = "192.168.2.0"; - const char *port_str = "3260"; - struct spdk_iscsi_portal *p = NULL; - int rc; - - rc = iscsi_parse_portal(string, &p, 0); - CU_ASSERT(rc == 0); - SPDK_CU_ASSERT_FATAL(p != NULL); - CU_ASSERT(strcmp(p->host, host_str) == 0); - CU_ASSERT(strcmp(p->port, port_str) == 0); - - spdk_iscsi_portal_destroy(p); - CU_ASSERT(TAILQ_EMPTY(&g_spdk_iscsi.portal_head)); -} - -static void -parse_portal_ipv6_skip_cpumask_case(void) { const char *string = "[2001:ad6:1234::]:3260"; const char *host_str = "[2001:ad6:1234::]"; @@ -216,7 +178,7 @@ parse_portal_ipv6_skip_cpumask_case(void) } static void -parse_portal_ipv4_skip_port_and_cpumask_case(void) +parse_portal_ipv4_skip_port_case(void) { const char *string = "192.168.2.0"; const char *host_str = "192.168.2.0"; @@ -235,7 +197,7 @@ parse_portal_ipv4_skip_port_and_cpumask_case(void) } static void -parse_portal_ipv6_skip_port_and_cpumask_case(void) +parse_portal_ipv6_skip_port_case(void) { const char *string = "[2001:ad6:1234::]"; const char *host_str = "[2001:ad6:1234::]"; @@ -477,14 +439,10 @@ main(int argc, char **argv) parse_portal_ipv4_normal_case) == NULL || CU_add_test(suite, "parse portal ipv6 normal case", parse_portal_ipv6_normal_case) == NULL - || CU_add_test(suite, "parse portal ipv4 skip cpumask case", - parse_portal_ipv4_skip_cpumask_case) == NULL - || CU_add_test(suite, "parse portal ipv6 skip cpumask case", - parse_portal_ipv6_skip_cpumask_case) == NULL - || CU_add_test(suite, "parse portal ipv4 skip port and cpumask case", - parse_portal_ipv4_skip_port_and_cpumask_case) == NULL - || CU_add_test(suite, "parse portal ipv6 skip port and cpumask case", - parse_portal_ipv6_skip_port_and_cpumask_case) == NULL + || CU_add_test(suite, "parse portal ipv4 skip port case", + parse_portal_ipv4_skip_port_case) == NULL + || CU_add_test(suite, "parse portal ipv6 skip port case", + parse_portal_ipv6_skip_port_case) == NULL || CU_add_test(suite, "portal group register/unregister case", portal_grp_register_unregister_case) == NULL || CU_add_test(suite, "portal group register twice case",