lib/iscsi: Remove the code for the deprecated CPU mask

CPU mask parameter was deprecated in v19.10.
If we remove the related code from the portal parser, we will be
able to use the parser for the iSCSI initiator to know the target
portal in iSCSI fuzz testing.  So let's remove the parser and its
test code here.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I72ad4364323abda0f0ed10519b56244cd0c7612e
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/476830
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
Shuhei Matsumoto 2019-12-04 21:50:16 -05:00 committed by Tomasz Zawadzki
parent 487eb66e24
commit fd77140073
4 changed files with 12 additions and 99 deletions

View File

@ -3540,7 +3540,6 @@ Example response:
{
"portals": [
{
"cpumask": "0x2",
"host": "127.0.0.1",
"port": "3260"
}

View File

@ -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) {

View File

@ -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;
}

View File

@ -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",