summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2013-05-18 00:14:28 +0400
committerIgor Pashev <pashev.igor@gmail.com>2013-05-19 18:23:32 +0400
commit48086e4b94f94b9e41d61406129b92078b65fdf1 (patch)
tree3b5ac464ea88e0fbc5ee4810df002647a57fe4d0 /usr/src
parent213d4f4f0d053d779dd43aa3ed1b6e256569ce16 (diff)
downloadiscsit-48086e4b94f94b9e41d61406129b92078b65fdf1.tar.gz
Portable versionupstream/1.0
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/iscsitsvc/iscsi-target.xml6
-rw-r--r--usr/src/cmd/itadm/itadm.c142
-rw-r--r--usr/src/lib/libiscsit/common/libiscsit.c45
-rw-r--r--usr/src/lib/libiscsit/common/libiscsit.h9
-rw-r--r--usr/src/man/man1m/itadm.1m22
-rw-r--r--usr/src/man/man3iscsit/it_tpg_create.3iscsit4
6 files changed, 125 insertions, 103 deletions
diff --git a/usr/src/cmd/iscsitsvc/iscsi-target.xml b/usr/src/cmd/iscsitsvc/iscsi-target.xml
index 4598d27..86b23a1 100644
--- a/usr/src/cmd/iscsitsvc/iscsi-target.xml
+++ b/usr/src/cmd/iscsitsvc/iscsi-target.xml
@@ -33,14 +33,14 @@ Service manifests for iSCSI Target
-->
-<service_bundle type='manifest' name='SUNWiscsitr:iscsi-target'>
+<service_bundle type='manifest' name='iscsi-target'>
<service
name='network/iscsi/target'
type='service'
version='1'>
- <create_default_instance enabled='false' />
+ <create_default_instance enabled='true' />
<single_instance/>
@@ -100,7 +100,7 @@ Service manifests for iSCSI Target
</loctext>
</common_name>
<documentation>
- <manpage title='itadm' section='1M'
+ <manpage title='itadm' section='8'
manpath='/usr/share/man' />
</documentation>
</template>
diff --git a/usr/src/cmd/itadm/itadm.c b/usr/src/cmd/itadm/itadm.c
index 87a6971..58fbefd 100644
--- a/usr/src/cmd/itadm/itadm.c
+++ b/usr/src/cmd/itadm/itadm.c
@@ -23,6 +23,7 @@
*/
#include <stdlib.h>
#include <stdio.h>
+#include <stdbool.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -187,25 +188,25 @@ static int
modify_target(char *tgt, char *new, nvlist_t *proplist);
static int
-delete_target(char *tgt, boolean_t force);
+delete_target(char *tgt, bool force);
static int
-list_target(char *tgt, boolean_t verbose, boolean_t script);
+list_target(char *tgt, bool verbose, bool script);
static int
create_tpg(char *tpg, int addrc, char **addrs);
static int
-list_tpg(char *tpg, boolean_t verbose, boolean_t script);
+list_tpg(char *tpg, bool verbose, bool script);
static int
-delete_tpg(char *tpg, boolean_t force);
+delete_tpg(char *tpg, bool force);
static int
-modify_initiator(char *ini, nvlist_t *proplist, boolean_t create);
+modify_initiator(char *ini, nvlist_t *proplist, bool create);
static int
-list_initiator(char *ini, boolean_t verbose, boolean_t script);
+list_initiator(char *ini, bool verbose, bool script);
static int
delete_initiator(char *ini);
@@ -214,7 +215,7 @@ static int
modify_defaults(nvlist_t *proplist);
static int
-list_defaults(boolean_t script);
+list_defaults(bool script);
static void
tag_name_to_num(char *tagname, uint16_t *tagnum);
@@ -236,18 +237,18 @@ main(int argc, char *argv[])
char *objp;
int itind = 0;
nvlist_t *proplist = NULL;
- boolean_t verbose = B_FALSE;
- boolean_t scripting = B_FALSE;
- boolean_t tbool;
+ bool verbose = false;
+ bool scripting = false;
+ bool tbool;
char *targetname = NULL;
char *propname;
- boolean_t force = B_FALSE;
+ bool force = false;
struct passwd *pwd = NULL;
uint32_t count = 0;
char *smfstate = NULL;
(void) setlocale(LC_ALL, "");
- (void) textdomain(TEXT_DOMAIN);
+ (void) textdomain(PACKAGE);
if (argc < 2) {
ret = 1;
@@ -308,7 +309,7 @@ main(int argc, char *argv[])
"radiussecret", optarg, NULL);
break;
case 'f':
- force = B_TRUE;
+ force = true;
break;
case '?':
/*
@@ -330,10 +331,10 @@ main(int argc, char *argv[])
case 'i':
if (strncmp(optarg, "enable", strlen(optarg))
== 0) {
- tbool = B_TRUE;
+ tbool = true;
} else if (strncmp(optarg, "disable",
strlen(optarg)) == 0) {
- tbool = B_FALSE;
+ tbool = false;
} else {
(void) fprintf(stderr, "%s\n",
gettext("invalid value for -i"));
@@ -406,7 +407,7 @@ main(int argc, char *argv[])
propname, optarg);
break;
case 'v':
- verbose = B_TRUE;
+ verbose = true;
break;
case ':':
(void) fprintf(stderr,
@@ -569,10 +570,10 @@ main(int argc, char *argv[])
ret = list_tpg(objp, verbose, scripting);
break;
case CREATE_INI:
- ret = modify_initiator(objp, proplist, B_TRUE);
+ ret = modify_initiator(objp, proplist, true);
break;
case MODIFY_INI:
- ret = modify_initiator(objp, proplist, B_FALSE);
+ ret = modify_initiator(objp, proplist, false);
break;
case LIST_INI:
ret = list_initiator(objp, verbose, scripting);
@@ -630,7 +631,7 @@ create_target(char *tgt, nvlist_t *proplist)
uint16_t tagid = 0;
it_tpgt_t *tpgt;
char *sec = "solaris.smf.modify.stmf";
- boolean_t did_it_config_load = B_FALSE;
+ bool did_it_config_load = false;
ITADM_CHKAUTH(sec);
@@ -653,7 +654,7 @@ create_target(char *tgt, nvlist_t *proplist)
goto done;
}
- did_it_config_load = B_TRUE;
+ did_it_config_load = true;
ret = it_tgt_create(cfg, &tgtp, tgt);
if (ret != 0) {
@@ -785,14 +786,14 @@ done:
}
int
-list_target(char *tgt, boolean_t verbose, boolean_t script)
+list_target(char *tgt, bool verbose, bool script)
{
int ret;
it_config_t *cfg;
it_tgt_t *ptr;
- boolean_t found = B_FALSE;
- boolean_t first = B_TRUE;
- boolean_t first_tag = B_TRUE;
+ bool found = false;
+ bool first = true;
+ bool first_tag = true;
char *gauth = "none";
char *galias = "-";
char *auth;
@@ -839,7 +840,7 @@ list_target(char *tgt, boolean_t verbose, boolean_t script)
if (strcasecmp(tgt, ptr->tgt_name) != 0) {
continue;
} else {
- found = B_TRUE;
+ found = true;
}
}
@@ -876,7 +877,7 @@ list_target(char *tgt, boolean_t verbose, boolean_t script)
if (!script && first) {
(void) printf("%-61s%-9s%-9s\n", "TARGET NAME",
"STATE", "SESSIONS");
- first = B_FALSE;
+ first = false;
}
if (!script) {
@@ -932,13 +933,13 @@ list_target(char *tgt, boolean_t verbose, boolean_t script)
chapu, chaps);
}
- first_tag = B_TRUE;
+ first_tag = true;
tagp = ptr->tgt_tpgt_list;
for (; tagp != NULL; tagp = tagp->tpgt_next) {
if (!first_tag) {
(void) printf(",");
} else {
- first_tag = B_FALSE;
+ first_tag = false;
}
(void) printf("%s = %d",
tagp->tpgt_tpg_name, tagp->tpgt_tag);
@@ -965,7 +966,7 @@ list_target(char *tgt, boolean_t verbose, boolean_t script)
}
int
-delete_target(char *tgt, boolean_t force)
+delete_target(char *tgt, bool force)
{
int ret;
it_config_t *cfg;
@@ -1047,7 +1048,7 @@ modify_target(char *tgt, char *newname, nvlist_t *proplist)
uint16_t tagid;
it_tpgt_t *tpgt = NULL;
char *sec = "solaris.smf.modify.stmf";
- boolean_t did_it_config_load = B_FALSE;
+ bool did_it_config_load = false;
ITADM_CHKAUTH(sec);
@@ -1067,7 +1068,7 @@ modify_target(char *tgt, char *newname, nvlist_t *proplist)
goto done;
}
- did_it_config_load = B_TRUE;
+ did_it_config_load = true;
/*
* If newname is specified, ensure it is a valid name.
@@ -1400,15 +1401,15 @@ create_tpg(char *tpg, int addrc, char **addrs)
}
static int
-list_tpg(char *tpg, boolean_t verbose, boolean_t script)
+list_tpg(char *tpg, bool verbose, bool script)
{
int ret;
it_config_t *cfg;
it_tpg_t *ptr;
- boolean_t found = B_FALSE;
+ bool found = false;
it_portal_t *portal;
- boolean_t first = B_TRUE;
- boolean_t first_portal;
+ bool first = true;
+ bool first_portal;
char *pstr;
char *sec = "solaris.smf.read.stmf";
@@ -1432,14 +1433,14 @@ list_tpg(char *tpg, boolean_t verbose, boolean_t script)
if (strcmp(tpg, ptr->tpg_name) != 0) {
continue;
} else {
- found = B_TRUE;
+ found = true;
}
}
if (!script && first) {
(void) printf("%-30s%-9s\n", "TARGET PORTAL GROUP",
"PORTAL COUNT");
- first = B_FALSE;
+ first = false;
}
if (!script) {
@@ -1462,7 +1463,7 @@ list_tpg(char *tpg, boolean_t verbose, boolean_t script)
(void) printf("\n portals:");
}
- first_portal = B_TRUE;
+ first_portal = true;
portal = ptr->tpg_portal_list;
for (; portal != NULL; portal = portal->portal_next) {
@@ -1475,7 +1476,7 @@ list_tpg(char *tpg, boolean_t verbose, boolean_t script)
(void) printf(",");
} else {
(void) printf("\t");
- first_portal = B_FALSE;
+ first_portal = false;
}
(void) printf("%s", pstr);
@@ -1503,7 +1504,7 @@ list_tpg(char *tpg, boolean_t verbose, boolean_t script)
}
static int
-delete_tpg(char *tpg, boolean_t force)
+delete_tpg(char *tpg, bool force)
{
int ret;
it_config_t *cfg;
@@ -1562,7 +1563,7 @@ delete_tpg(char *tpg, boolean_t force)
}
static int
-modify_initiator(char *ini, nvlist_t *proplist, boolean_t create)
+modify_initiator(char *ini, nvlist_t *proplist, bool create)
{
int ret;
it_config_t *cfg;
@@ -1570,7 +1571,7 @@ modify_initiator(char *ini, nvlist_t *proplist, boolean_t create)
nvlist_t *errlist = NULL;
nvpair_t *nvp = NULL;
char *sec = "solaris.smf.modify.stmf";
- boolean_t changed = B_TRUE;
+ bool changed = true;
ITADM_CHKAUTH(sec);
@@ -1599,7 +1600,7 @@ modify_initiator(char *ini, nvlist_t *proplist, boolean_t create)
}
if ((nvp == NULL) && !create) {
- changed = B_FALSE;
+ changed = false;
}
/*
@@ -1696,13 +1697,13 @@ modify_initiator(char *ini, nvlist_t *proplist, boolean_t create)
}
static int
-list_initiator(char *ini, boolean_t verbose, boolean_t script) /* ARGSUSED */
+list_initiator(char *ini, bool verbose, bool script) /* ARGSUSED */
{
int ret;
it_config_t *cfg;
it_ini_t *ptr;
- boolean_t found = B_FALSE;
- boolean_t first = B_TRUE;
+ bool found = false;
+ bool first = true;
char *isecret;
char *iuser;
char *sec = "solaris.smf.read.stmf";
@@ -1730,7 +1731,7 @@ list_initiator(char *ini, boolean_t verbose, boolean_t script) /* ARGSUSED */
if (strcasecmp(ini, ptr->ini_name) != 0) {
continue;
} else {
- found = B_TRUE;
+ found = true;
}
}
@@ -1747,7 +1748,7 @@ list_initiator(char *ini, boolean_t verbose, boolean_t script) /* ARGSUSED */
if (!script && first) {
(void) printf("%-61s%-10s%-7s\n", "INITIATOR NAME",
"CHAPUSER", "SECRET");
- first = B_FALSE;
+ first = false;
}
if (!script) {
@@ -1904,7 +1905,7 @@ modify_defaults(nvlist_t *proplist)
}
static int
-list_defaults(boolean_t script)
+list_defaults(bool script)
{
int ret;
it_config_t *cfg;
@@ -1916,7 +1917,7 @@ list_defaults(boolean_t script)
uint32_t scount = 0;
char *rsvr = "<none>";
char *rsecret = "unset";
- boolean_t val = B_FALSE;
+ bool val = false;
int i;
char *sec = "solaris.smf.read.stmf";
@@ -1935,7 +1936,7 @@ list_defaults(boolean_t script)
(void) nvlist_lookup_string(nvl, "alias", &alias);
(void) nvlist_lookup_string(nvl, "auth", &auth);
(void) nvlist_lookup_boolean_value(nvl, "isns", &val);
- if (val == B_TRUE) {
+ if (val == true) {
isns = "enabled";
}
(void) nvlist_lookup_string_array(nvl, "isnsserver", &isvrs,
@@ -2091,6 +2092,41 @@ itadm_get_password(nvlist_t *nvl, char *key, char *passfile,
return (ret);
}
+static size_t
+_my_bufsplit(char *buf, size_t dim, char **array)
+{
+ static char *bsplitchar;
+
+ unsigned numsplit;
+ int i;
+
+ if (!buf)
+ return (0);
+ if (!dim ^ !array)
+ return (0);
+ if (buf && !dim && !array) {
+ bsplitchar = buf;
+ return (1);
+ }
+ numsplit = 0;
+ while (numsplit < dim) {
+ array[numsplit] = buf;
+ numsplit++;
+ buf = strpbrk(buf, bsplitchar);
+ if (buf)
+ *(buf++) = '\0';
+ else
+ break;
+ if (*buf == '\0') {
+ break;
+ }
+ }
+ buf = strrchr(array[numsplit-1], '\0');
+ for (i = numsplit; i < dim; i++)
+ array[i] = buf;
+ return (numsplit);
+}
+
static int
itadm_opt_to_arr(nvlist_t *nvl, char *key, char *opt, uint32_t *num)
{
@@ -2121,10 +2157,10 @@ itadm_opt_to_arr(nvlist_t *nvl, char *key, char *opt, uint32_t *num)
bufp = opt;
/* set delimiter to comma */
- (void) bufsplit(",", 0, NULL);
+ (void) _my_bufsplit(",", 0, NULL);
/* split up that buf! */
- (void) bufsplit(bufp, count, arr);
+ (void) _my_bufsplit(bufp, count, arr);
/* if requested, return the number of array members found */
if (num) {
diff --git a/usr/src/lib/libiscsit/common/libiscsit.c b/usr/src/lib/libiscsit/common/libiscsit.c
index c45b9b1..61b8b16 100644
--- a/usr/src/lib/libiscsit/common/libiscsit.c
+++ b/usr/src/lib/libiscsit/common/libiscsit.c
@@ -85,7 +85,7 @@ it_validate_tgtprops(nvlist_t *nvl, nvlist_t *errs);
static int
it_validate_iniprops(nvlist_t *nvl, nvlist_t *errs);
-static boolean_t
+static bool
is_iscsit_enabled(void);
static void
@@ -233,7 +233,7 @@ it_config_commit(it_config_t *cfg)
* the active service.
*/
if (ret == 0) {
- boolean_t changed = B_FALSE;
+ bool changed = false;
tgtp = cfg->config_tgt_list;
for (; tgtp != NULL; tgtp = tgtp->tgt_next) {
@@ -244,7 +244,7 @@ it_config_commit(it_config_t *cfg)
PROP_OLD_TARGET_NAME)) {
(void) nvlist_remove_all(tgtp->tgt_properties,
PROP_OLD_TARGET_NAME);
- changed = B_TRUE;
+ changed = true;
}
}
@@ -729,7 +729,7 @@ it_tgt_setprop(it_config_t *cfg, it_tgt_t *tgt, nvlist_t *proplist,
* EBUSY Target is online
*/
int
-it_tgt_delete(it_config_t *cfg, it_tgt_t *tgt, boolean_t force)
+it_tgt_delete(it_config_t *cfg, it_tgt_t *tgt, bool force)
{
int ret;
it_tgt_t *ptgt;
@@ -1082,7 +1082,7 @@ it_tpg_create(it_config_t *cfg, it_tpg_t **tpg, char *tpg_name,
* EBUSY Portal group associated with one or more targets.
*/
int
-it_tpg_delete(it_config_t *cfg, it_tpg_t *tpg, boolean_t force)
+it_tpg_delete(it_config_t *cfg, it_tpg_t *tpg, bool force)
{
it_tpg_t *ptr;
it_tpg_t *prev = NULL;
@@ -1629,7 +1629,7 @@ it_validate_configprops(nvlist_t *nvl, nvlist_t *errs)
char *name;
char *val;
struct sockaddr_storage sa;
- boolean_t update_rad_server = B_FALSE;
+ bool update_rad_server = false;
char *rad_server;
char *auth = NULL;
@@ -1730,7 +1730,7 @@ it_validate_configprops(nvlist_t *nvl, nvlist_t *errs)
*/
if (sockaddr_to_str(&sa, &rad_server) == 0) {
- update_rad_server = B_TRUE;
+ update_rad_server = true;
}
}
} else {
@@ -1843,6 +1843,9 @@ it_iqn_generate(char *iqn_buf, int iqn_buf_len, char *opt_iqn_suffix)
{
int ret;
uuid_t id;
+#ifndef UUID_PRINTABLE_STRING_LENGTH
+#define UUID_PRINTABLE_STRING_LENGTH 37
+#endif
char id_str[UUID_PRINTABLE_STRING_LENGTH];
uuid_generate_random(id);
@@ -1899,7 +1902,7 @@ it_val_pass(char *name, char *val, nvlist_t *e)
* Ensures the passed-in string is a valid IQN or EUI iSCSI name
*
*/
-boolean_t
+bool
validate_iscsi_name(char *in_name)
{
size_t in_len;
@@ -1907,12 +1910,12 @@ validate_iscsi_name(char *in_name)
char month[3];
if (in_name == NULL) {
- return (B_FALSE);
+ return (false);
}
in_len = strlen(in_name);
if (in_len < 12) {
- return (B_FALSE);
+ return (false);
}
if (IS_IQN_NAME(in_name)) {
@@ -1927,7 +1930,7 @@ validate_iscsi_name(char *in_name)
(!isdigit(in_name[9])) ||
(!isdigit(in_name[10])) ||
(in_name[11] != '.')) {
- return (B_FALSE);
+ return (false);
}
(void) strncpy(month, &(in_name[9]), 2);
@@ -1935,7 +1938,7 @@ validate_iscsi_name(char *in_name)
i = atoi(month);
if ((i < 0) || (i > 12)) {
- return (B_FALSE);
+ return (false);
}
/*
@@ -1949,36 +1952,36 @@ validate_iscsi_name(char *in_name)
if ((c != '-') && (c != '.') && (c != ':') &&
!isalpha(c) && !isdigit(c)) {
- return (B_FALSE);
+ return (false);
}
}
/* Finally, validate the overall length, in wide chars */
in_len = mbstowcs(NULL, in_name, 0);
if (in_len > ISCSI_NAME_LEN_MAX) {
- return (B_FALSE);
+ return (false);
}
} else if (IS_EUI_NAME(in_name)) {
/*
* EUI names are "eui." + 16 hex chars
*/
if (in_len != 20) {
- return (B_FALSE);
+ return (false);
}
for (i = 4; i < in_len; i++) {
if (!isxdigit(in_name[i])) {
- return (B_FALSE);
+ return (false);
}
}
} else {
- return (B_FALSE);
+ return (false);
}
- return (B_TRUE);
+ return (true);
}
-static boolean_t
+static bool
is_iscsit_enabled(void)
{
char *state;
@@ -1987,12 +1990,12 @@ is_iscsit_enabled(void)
if (state != NULL) {
if (strcmp(state, SCF_STATE_STRING_ONLINE) == 0) {
free(state);
- return (B_TRUE);
+ return (true);
}
free(state);
}
- return (B_FALSE);
+ return (false);
}
/*
diff --git a/usr/src/lib/libiscsit/common/libiscsit.h b/usr/src/lib/libiscsit/common/libiscsit.h
index 704c790..539558f 100644
--- a/usr/src/lib/libiscsit/common/libiscsit.h
+++ b/usr/src/lib/libiscsit/common/libiscsit.h
@@ -29,10 +29,9 @@
#ifndef _LIBISCSIT_H
#define _LIBISCSIT_H
-#ifndef _KERNEL
+#include <stdbool.h>
#include <libnvpair.h>
#include <sys/socket.h>
-#endif
#include <sys/iscsit/iscsit_common.h>
@@ -255,7 +254,7 @@ it_tgt_setprop(it_config_t *cfg, it_tgt_t *tgt, nvlist_t *proplist,
* EBUSY Target is online
*/
int
-it_tgt_delete(it_config_t *cfg, it_tgt_t *tgt, boolean_t force);
+it_tgt_delete(it_config_t *cfg, it_tgt_t *tgt, bool force);
/*
* Function: it_tpgt_create()
@@ -361,7 +360,7 @@ it_tpg_create(it_config_t *cfg, it_tpg_t **tpg, char *tpg_name,
* EBUSY Portal group associated with one or more targets.
*/
int
-it_tpg_delete(it_config_t *cfg, it_tpg_t *tpg, boolean_t force);
+it_tpg_delete(it_config_t *cfg, it_tpg_t *tpg, bool force);
/*
* Function: it_portal_create()
@@ -525,7 +524,7 @@ it_ini_free(it_ini_t *ini);
*
* Ensures the passed-in string is a valid IQN or EUI iSCSI name
*/
-boolean_t
+bool
validate_iscsi_name(char *in_name);
/*
diff --git a/usr/src/man/man1m/itadm.1m b/usr/src/man/man1m/itadm.1m
index 12a3e7e..d93cd63 100644
--- a/usr/src/man/man1m/itadm.1m
+++ b/usr/src/man/man1m/itadm.1m
@@ -3,7 +3,7 @@
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
-.TH ITADM 1M "Aug 4, 2009"
+.TH ITADM 8 "Aug 4, 2009"
.SH NAME
itadm \- administer iSCSI targets
.SH SYNOPSIS
@@ -87,7 +87,7 @@ itadm \- administer iSCSI targets
.sp
.LP
The \fBitadm\fR command manages Internet SCSI (iSCSI) target nodes within the
-SCSI Target Mode Framework described in \fBstmfadm\fR(1M) and
+SCSI Target Mode Framework described in \fBstmfadm\fR(8) and
\fBlibstmf\fR(3LIB). This allows the iSCSI initiators to access STMF logical
units using the iSCSI protocol. In addition to iSCSI target nodes, \fBitadm\fR
manages two other classes of managed objects: iSCSI Target Portal Groups, and
@@ -921,23 +921,7 @@ iqn.1986-03.com.sun:02:2cb0c526-c05a-e279-e396-a367006f4227 online 1
.in -2
.sp
-.SH ATTRIBUTES
-.sp
-.LP
-See \fBattributes\fR(5) for descriptions of the following attributes:
-.sp
-
-.sp
-.TS
-box;
-c | c
-l | l .
-ATTRIBUTE TYPE ATTRIBUTE VALUE
-_
-Interface Stability Committed
-.TE
-
.SH SEE ALSO
.sp
.LP
-\fBiscsiadm\fR(1M), \fBstmfadm\fR(1M), \fBlibstmf\fR(3LIB), \fBattributes\fR(5)
+\fBiscsiadm\fR(1M), \fBstmfadm\fR(8), \fBlibstmf\fR(3LIB)
diff --git a/usr/src/man/man3iscsit/it_tpg_create.3iscsit b/usr/src/man/man3iscsit/it_tpg_create.3iscsit
index 2ba3628..f4b0b44 100644
--- a/usr/src/man/man3iscsit/it_tpg_create.3iscsit
+++ b/usr/src/man/man3iscsit/it_tpg_create.3iscsit
@@ -20,7 +20,7 @@ cc [ \fIflag\fR\&.\|.\|. ] \fIfile\fR\&.\|.\|. \fB-liscsit\fR [ \fIlibrary\fR\&.
.LP
.nf
\fBint\fR \fBit_tpg_delete\fR(\fBit_config_t *\fR\fIcfg\fR, \fBit_tpg_t *\fR\fItpg\fR,
- \fBboolean_t\fR \fIforce\fR););
+ \fBbool\fR \fIforce\fR););
.fi
.LP
@@ -76,7 +76,7 @@ addresses should be enclosed in square brackets ('[', ']').
.ad
.RS 18n
boolean value indicating if the target portal group should be removed even if
-it is associated with one or more targets. If not \fBB_TRUE\fR, the operation
+it is associated with one or more targets. If not \fBtrue\fR, the operation
will fail if the target product group is associated with a target.
.RE