summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Gill <Peter.Gill@Sun.COM>2010-05-10 14:31:40 -0400
committerPeter Gill <Peter.Gill@Sun.COM>2010-05-10 14:31:40 -0400
commit42bf653b44c42fc6b637ae50e590489d69399241 (patch)
treeb3364ccffba6cb93825a6ad306fc7545d8116c81
parentc690e8405e15b1fe6f49347caf4294a3b199f2f3 (diff)
downloadillumos-gate-42bf653b44c42fc6b637ae50e590489d69399241.tar.gz
6942887 it_portal_delete() cooking up circular lists
-rw-r--r--usr/src/cmd/itadm/itadm.c5
-rw-r--r--usr/src/common/iscsit/iscsit_common.c19
-rw-r--r--usr/src/lib/libiscsit/common/libiscsit.c19
-rw-r--r--usr/src/uts/common/io/comstar/port/iscsit/iscsit_isns.c5
-rw-r--r--usr/src/uts/common/io/comstar/port/iscsit/iscsit_tgt.c5
-rw-r--r--usr/src/uts/common/sys/iscsit/iscsit_common.h5
6 files changed, 26 insertions, 32 deletions
diff --git a/usr/src/cmd/itadm/itadm.c b/usr/src/cmd/itadm/itadm.c
index 3b9726e77d..87a69717af 100644
--- a/usr/src/cmd/itadm/itadm.c
+++ b/usr/src/cmd/itadm/itadm.c
@@ -19,8 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
*/
#include <stdlib.h>
#include <stdio.h>
@@ -1466,7 +1465,7 @@ list_tpg(char *tpg, boolean_t verbose, boolean_t script)
first_portal = B_TRUE;
portal = ptr->tpg_portal_list;
- for (; portal != NULL; portal = portal->next) {
+ for (; portal != NULL; portal = portal->portal_next) {
ret = sockaddr_to_str(&(portal->portal_addr), &pstr);
if (ret != 0) {
/* invalid addr? */
diff --git a/usr/src/common/iscsit/iscsit_common.c b/usr/src/common/iscsit/iscsit_common.c
index 64725679a0..7b2b18e89a 100644
--- a/usr/src/common/iscsit/iscsit_common.c
+++ b/usr/src/common/iscsit/iscsit_common.c
@@ -19,8 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
*/
#include <sys/time.h>
@@ -828,7 +827,7 @@ it_tpg_to_nv(it_tpg_t *tpg, nvlist_t **nvl)
if (ret != 0) {
break;
}
- ptr = ptr->next;
+ ptr = ptr->portal_next;
i++;
}
}
@@ -1028,7 +1027,7 @@ it_portal_lookup(it_tpg_t *tpg, struct sockaddr_storage *sa)
for (cfg_portal = tpg->tpg_portal_list;
cfg_portal != NULL;
- cfg_portal = cfg_portal->next) {
+ cfg_portal = cfg_portal->portal_next) {
if (it_sa_compare(sa, &cfg_portal->portal_addr) == 0)
return (cfg_portal);
}
@@ -1043,7 +1042,7 @@ it_sns_svr_lookup(it_config_t *cfg, struct sockaddr_storage *sa)
for (cfg_portal = cfg->config_isns_svr_list;
cfg_portal != NULL;
- cfg_portal = cfg_portal->next) {
+ cfg_portal = cfg_portal->portal_next) {
if (it_sa_compare(sa, &cfg_portal->portal_addr) == 0)
return (cfg_portal);
}
@@ -1399,7 +1398,7 @@ it_array_to_portallist(char **arr, uint32_t count, uint32_t default_port,
portal = NULL;
break;
}
- tmp = tmp->next;
+ tmp = tmp->portal_next;
}
if (!portal) {
@@ -1410,12 +1409,12 @@ it_array_to_portallist(char **arr, uint32_t count, uint32_t default_port,
* The first time through the loop, *portallist == NULL
* because we assigned it to NULL above. Subsequently
* prev will have been set. Therefor it's OK to put
- * lint override before prev->next assignment.
+ * lint override before prev->portal_next assignment.
*/
if (*portallist == NULL) {
*portallist = portal;
} else {
- prev->next = portal;
+ prev->portal_next = portal;
}
prev = portal;
@@ -1461,7 +1460,7 @@ it_config_free_cmn(it_config_t *cfg)
it_portal_t *pp_next;
while (pp) {
- pp_next = pp->next;
+ pp_next = pp->portal_next;
iscsit_free(pp, sizeof (it_portal_t));
pp = pp_next;
}
@@ -1548,7 +1547,7 @@ it_tpg_free_cmn(it_tpg_t *tpg)
portalp = tpgp->tpg_portal_list;
while (portalp) {
- pnext = portalp->next;
+ pnext = portalp->portal_next;
iscsit_free(portalp, sizeof (it_portal_t));
portalp = pnext;
}
diff --git a/usr/src/lib/libiscsit/common/libiscsit.c b/usr/src/lib/libiscsit/common/libiscsit.c
index 8b4a86ac41..3025e45bc8 100644
--- a/usr/src/lib/libiscsit/common/libiscsit.c
+++ b/usr/src/lib/libiscsit/common/libiscsit.c
@@ -19,8 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
*/
#include <sys/types.h>
@@ -427,7 +426,7 @@ it_config_setprop(it_config_t *cfg, nvlist_t *proplist, nvlist_t **errlist)
if (ret == 0) {
isns = cfg->config_isns_svr_list;
while (isns) {
- pnext = isns->next;
+ pnext = isns->portal_next;
free(isns);
isns = pnext;
}
@@ -449,7 +448,7 @@ it_config_setprop(it_config_t *cfg, nvlist_t *proplist, nvlist_t **errlist)
ret = ENOMEM;
} else {
for (isns = newisnslist; isns != NULL;
- isns = isns->next) {
+ isns = isns->portal_next) {
(void) sockaddr_to_str(
&(isns->portal_addr),
&(newarray[i++]));
@@ -1200,7 +1199,7 @@ it_portal_create(it_config_t *cfg, it_tpg_t *tpg, it_portal_t **portal,
ctpg = cfg->config_tpg_list;
while (ctpg) {
ptr = ctpg->tpg_portal_list;
- for (; ptr != NULL; ptr = ptr->next) {
+ for (; ptr != NULL; ptr = ptr->portal_next) {
if (it_sa_compare(&(ptr->portal_addr), &sa) != 0) {
continue;
}
@@ -1226,7 +1225,7 @@ it_portal_create(it_config_t *cfg, it_tpg_t *tpg, it_portal_t **portal,
(void) memcpy(&(ptr->portal_addr), &sa,
sizeof (struct sockaddr_storage));
- ptr->next = tpg->tpg_portal_list;
+ ptr->portal_next = tpg->tpg_portal_list;
tpg->tpg_portal_list = ptr;
tpg->tpg_portal_count++;
tpg->tpg_generation++;
@@ -1253,7 +1252,7 @@ void
it_portal_delete(it_config_t *cfg, it_tpg_t *tpg, it_portal_t *portal)
{
it_portal_t *ptr;
- it_portal_t *prev;
+ it_portal_t *prev = NULL;
if (!cfg || !tpg || !portal) {
return;
@@ -1266,7 +1265,7 @@ it_portal_delete(it_config_t *cfg, it_tpg_t *tpg, it_portal_t *portal)
break;
}
prev = ptr;
- ptr = ptr->next;
+ ptr = ptr->portal_next;
}
if (!ptr) {
@@ -1274,9 +1273,9 @@ it_portal_delete(it_config_t *cfg, it_tpg_t *tpg, it_portal_t *portal)
}
if (prev) {
- prev->next = ptr->next;
+ prev->portal_next = ptr->portal_next;
} else {
- tpg->tpg_portal_list = ptr->next;
+ tpg->tpg_portal_list = ptr->portal_next;
}
tpg->tpg_portal_count--;
tpg->tpg_generation++;
diff --git a/usr/src/uts/common/io/comstar/port/iscsit/iscsit_isns.c b/usr/src/uts/common/io/comstar/port/iscsit/iscsit_isns.c
index 1c06e43bb8..2b610b5fa4 100644
--- a/usr/src/uts/common/io/comstar/port/iscsit/iscsit_isns.c
+++ b/usr/src/uts/common/io/comstar/port/iscsit/iscsit_isns.c
@@ -19,8 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
*/
#include <sys/cpuvar.h>
@@ -456,7 +455,7 @@ isnst_config_merge(it_config_t *cfg)
/* Add new iSNS servers */
for (cfg_isns_svr = cfg->config_isns_svr_list;
cfg_isns_svr != NULL;
- cfg_isns_svr = cfg_isns_svr->next) {
+ cfg_isns_svr = cfg_isns_svr->portal_next) {
isns_svr = iscsit_isns_svr_lookup(&cfg_isns_svr->portal_addr);
if (isns_svr == NULL) {
iscsit_add_isns(cfg_isns_svr);
diff --git a/usr/src/uts/common/io/comstar/port/iscsit/iscsit_tgt.c b/usr/src/uts/common/io/comstar/port/iscsit/iscsit_tgt.c
index 2752f5bdef..803ef239fb 100644
--- a/usr/src/uts/common/io/comstar/port/iscsit/iscsit_tgt.c
+++ b/usr/src/uts/common/io/comstar/port/iscsit/iscsit_tgt.c
@@ -19,8 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
*/
#include <sys/cpuvar.h>
@@ -1626,7 +1625,7 @@ iscsit_tpg_modify(iscsit_tpg_t *tpg, it_tpg_t *cfg_tpg)
for (cfg_portal = cfg_tpg->tpg_portal_list;
cfg_portal != NULL;
- cfg_portal = cfg_portal->next) {
+ cfg_portal = cfg_portal->portal_next) {
if ((portal = iscsit_tpg_portal_lookup_locked(tpg,
&cfg_portal->portal_addr)) == NULL) {
(void) iscsit_portal_create(tpg,
diff --git a/usr/src/uts/common/sys/iscsit/iscsit_common.h b/usr/src/uts/common/sys/iscsit/iscsit_common.h
index a2df85c5ff..4d5d58ef30 100644
--- a/usr/src/uts/common/sys/iscsit/iscsit_common.h
+++ b/usr/src/uts/common/sys/iscsit/iscsit_common.h
@@ -19,8 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
*/
#ifndef _ISCSIT_COMMON_H_
@@ -202,7 +201,7 @@ typedef struct it_tgt_s {
*/
typedef struct it_portal_s {
struct sockaddr_storage portal_addr;
- struct it_portal_s *next;
+ struct it_portal_s *portal_next;
} it_portal_t;
/*