summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/mms/dm/common/dm_uscsi.c8
-rw-r--r--usr/src/cmd/mms/mm/common/mm.c9
-rw-r--r--usr/src/cmd/mms/mm/common/mm_dmp_sql.c2
-rw-r--r--usr/src/cmd/mms/mm/common/mm_notify.c10
-rw-r--r--usr/src/lib/mms/dm/libdefault/common/dm_default.c10
-rw-r--r--usr/src/lib/mms/mms/common/mms_scsi.c8
-rw-r--r--usr/src/lib/mms/mms/common/mmsp_yacc.y32
7 files changed, 35 insertions, 44 deletions
diff --git a/usr/src/cmd/mms/dm/common/dm_uscsi.c b/usr/src/cmd/mms/dm/common/dm_uscsi.c
index 96f109a688..f6ba9fc891 100644
--- a/usr/src/cmd/mms/dm/common/dm_uscsi.c
+++ b/usr/src/cmd/mms/dm/common/dm_uscsi.c
@@ -76,8 +76,11 @@ dm_scsi_error(int err, int status,
*/
serr->se_senkey = serr->se_sense[2] & 0x0f;
}
- char_to_int64((signed char *)serr->se_sense + 3, 4,
- (int64_t *)&serr->se_resid);
+ if (serr->se_resid == -1) {
+ /* get resid from sense bytes if not already have it */
+ char_to_int64((signed char *)serr->se_sense + 3, 4,
+ (int64_t *)&serr->se_resid);
+ }
serr->se_flags |= serr->se_sense[0] & 0x80 ?
DRV_SE_SEN_VALID : 0;
serr->se_flags |= serr->se_sense[2] & 0x20 ?
@@ -337,6 +340,7 @@ dm_ioctl(int cmd, void *arg)
if (cmd == USCSICMD) {
rc = dm_chk_uscsi_error(rc, arg, err);
} else if (rc != 0) {
+ serr->se_resid = -1;
dm_get_mtstat(~DRV_SAVE_STAT);
dm_get_mt_error(err);
}
diff --git a/usr/src/cmd/mms/mm/common/mm.c b/usr/src/cmd/mms/mm/common/mm.c
index 8e6e895062..48499d25b9 100644
--- a/usr/src/cmd/mms/mm/common/mm.c
+++ b/usr/src/cmd/mms/mm/common/mm.c
@@ -2252,8 +2252,6 @@ mm_remove_clients(mm_data_t *mm_data, mm_db_t *db)
remove = 0;
pthread_mutex_lock(&data->mm_wka_mutex);
mms_list_foreach(&mm_data->mm_wka_list, mm_wka) {
- pthread_mutex_unlock(&data->mm_wka_mutex);
-
/* mms_trace(MMS_INFO," Checking a wka"); */
if (mm_wka->wka_remove) {
remove = 1;
@@ -2266,22 +2264,19 @@ mm_remove_clients(mm_data_t *mm_data, mm_db_t *db)
mm_wka->mm_wka_conn->mms_fd);
remove = 1;
- pthread_mutex_lock(&data->mm_wka_mutex);
break;
}
-
- pthread_mutex_lock(&data->mm_wka_mutex);
}
pthread_mutex_unlock(&data->mm_wka_mutex);
if (remove) {
/* Destroy the wka */
- pthread_mutex_lock(&mm_wka->wka_local_lock);
-
pthread_mutex_lock(&data->mm_wka_mutex);
+ pthread_mutex_lock(&mm_wka->wka_local_lock);
mms_list_remove(&mm_data->mm_wka_list, mm_wka);
pthread_mutex_unlock(&data->mm_wka_mutex);
+ pthread_mutex_unlock(&mm_wka->wka_local_lock);
/* Remove commands associated with this wka */
diff --git a/usr/src/cmd/mms/mm/common/mm_dmp_sql.c b/usr/src/cmd/mms/mm/common/mm_dmp_sql.c
index 46e4877a4a..f83e4aa52d 100644
--- a/usr/src/cmd/mms/mm/common/mm_dmp_sql.c
+++ b/usr/src/cmd/mms/mm/common/mm_dmp_sql.c
@@ -646,7 +646,7 @@ mm_dmp_config_cmd_func(mm_wka_t *mm_wka, mm_command_t *cmd)
delete_dm_config(mm_wka, &mm_wka->mm_data->mm_db);
mms_trace(MMS_ERR, "DEBUG CONFIG " \
- "MMS_ERROR");
+ "ERROR");
/*
* cmd->cmd_remove = 1;
* mm_sql_db_err_rsp_new(cmd, db);
diff --git a/usr/src/cmd/mms/mm/common/mm_notify.c b/usr/src/cmd/mms/mm/common/mm_notify.c
index 7e726d953c..1d3eadd39e 100644
--- a/usr/src/cmd/mms/mm/common/mm_notify.c
+++ b/usr/src/cmd/mms/mm/common/mm_notify.c
@@ -445,8 +445,6 @@ mm_notify_event_rules(mm_data_t *mm_data) {
notify_wka != NULL;
notify_wka = next_notify_wka) {
pthread_mutex_lock(&notify_wka->wka_local_lock);
- pthread_mutex_unlock(&notify_data->
- mm_wka_mutex);
if (strcmp(notify_wka->wka_conn.cci_uuid,
PQgetvalue(notify_results, 0, 0)) == 0) {
@@ -466,9 +464,6 @@ mm_notify_event_rules(mm_data_t *mm_data) {
event_buf = NULL;
}
}
-
- pthread_mutex_lock(&notify_data->
- mm_wka_mutex);
next_notify_wka =
mms_list_next(&notify_data->mm_wka_list,
notify_wka);
@@ -635,7 +630,6 @@ notify_etable(int etable) {
notify_wka != NULL;
notify_wka = next_notify_wka) {
pthread_mutex_lock(&notify_wka->wka_local_lock);
- pthread_mutex_unlock(&notify_data->mm_wka_mutex);
for (i = 0; i < num_clients; i ++) {
cur_uuid = PQgetvalue(client_results, i, 0);
@@ -646,7 +640,6 @@ notify_etable(int etable) {
event_results);
}
}
- pthread_mutex_lock(&notify_data->mm_wka_mutex);
next_notify_wka = mms_list_next(&notify_data->mm_wka_list,
notify_wka);
pthread_mutex_unlock(&notify_wka->wka_local_lock);
@@ -1660,7 +1653,6 @@ notify_send(notify_cmd_t *event)
notify_wka = next_notify_wka) {
pthread_mutex_lock(&notify_wka->wka_local_lock);
- pthread_mutex_unlock(&notify_data->mm_wka_mutex);
if (print_message)
mms_trace(MMS_INFO, "examining a client, %s",
@@ -1707,8 +1699,6 @@ notify_send(notify_cmd_t *event)
mms_trace(MMS_DEVP,
"client has no notification settings");
}
-
- pthread_mutex_lock(&notify_data->mm_wka_mutex);
next_notify_wka = mms_list_next(&notify_data->mm_wka_list,
notify_wka);
pthread_mutex_unlock(&notify_wka->wka_local_lock);
diff --git a/usr/src/lib/mms/dm/libdefault/common/dm_default.c b/usr/src/lib/mms/dm/libdefault/common/dm_default.c
index 13baacdc0e..bd9dec7f4c 100644
--- a/usr/src/lib/mms/dm/libdefault/common/dm_default.c
+++ b/usr/src/lib/mms/dm/libdefault/common/dm_default.c
@@ -1230,7 +1230,7 @@ drv_wtm(uint64_t count)
drv->drv_flags |= (DRV_TERM_FILE | DRV_TM);
}
TRACE((MMS_DEBUG, "Wrote %lld tapemarks", count - serr->se_resid));
- if (serr->se_resid == 0) {
+ if (rc == 0 && serr->se_resid == 0) {
rc = 0;
}
return (rc);
@@ -1566,7 +1566,6 @@ drv_log_sense(uchar_t *buf, int len, int page_control, int page_code)
{ 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
char dumpbuf[1024];
-
(void) memset(&us, 0, sizeof (us));
us.uscsi_flags = USCSI_READ;
us.uscsi_cdb = (char *)cdb;
@@ -1904,7 +1903,7 @@ drv_get_serial_num(char *ser)
us.uscsi_cdblen = sizeof (cdb);
us.uscsi_timeout = drv->drv_timeout->drv_short_timeout;
us.uscsi_bufaddr = (char *)drv->drv_iobuf;
- us.uscsi_buflen = 16;
+ us.uscsi_buflen = MMS_READ_SER_NUM_BUF_LEN;
TRACE((MMS_DEBUG, "Inquiry - Serial number"));
if (dm_uscsi(&us)) {
@@ -1993,6 +1992,8 @@ drv_set_compression(int comp)
TRACE((MMS_DEBUG, "Mode sense data:\n%s", dumpbuf));
drv->drv_iobuf[26] = 1;
+ drv->drv_iobuf[0] = 0;
+ drv->drv_iobuf[1] = 0;
(void) mms_trace_dump((char *)drv->drv_iobuf, 28, dumpbuf,
sizeof (dumpbuf));
TRACE((MMS_DEBUG, "Mode select data:\n%s", dumpbuf));
@@ -2209,7 +2210,8 @@ drv_set_density(int den)
* Set density
*/
drv->drv_iobuf[4] = den;
-
+ drv->drv_iobuf[0] = 0;
+ drv->drv_iobuf[1] = 0;
(void) mms_trace_dump((char *)drv->drv_iobuf, 12, dumpbuf,
sizeof (dumpbuf));
TRACE((MMS_DEBUG, "Mode select data:\n%s", dumpbuf));
diff --git a/usr/src/lib/mms/mms/common/mms_scsi.c b/usr/src/lib/mms/mms/common/mms_scsi.c
index 37d2ef254e..ee42fec638 100644
--- a/usr/src/lib/mms/mms/common/mms_scsi.c
+++ b/usr/src/lib/mms/mms/common/mms_scsi.c
@@ -124,10 +124,10 @@ static mms_sym_t mms_scsi_status_tab[] = {
static mms_sym_t mms_scsi_senkey_tab[] = {
"NO SENSE", KEY_NO_SENSE,
- "RECOVERABLE MMS_ERROR", KEY_RECOVERABLE_ERROR,
+ "RECOVERABLE ERROR", KEY_RECOVERABLE_ERROR,
"NOT READY", KEY_NOT_READY,
- "MEDIUM MMS_ERROR", KEY_MEDIUM_ERROR,
- "HARDWARE MMS_ERROR", KEY_HARDWARE_ERROR,
+ "MEDIUM ERROR", KEY_MEDIUM_ERROR,
+ "HARDWARE ERROR", KEY_HARDWARE_ERROR,
"ILLEGAL REQUEST", KEY_ILLEGAL_REQUEST,
"UNIT ATTENTION", KEY_UNIT_ATTENTION,
"WRITE PROTECT", KEY_WRITE_PROTECT,
@@ -147,7 +147,7 @@ static mms_sym_t mms_scsi_senkey_tab[] = {
"SUN TIMEOUT", SUN_KEY_TIMEOUT,
"SUN EOF", SUN_KEY_EOF,
"SUN EOT", SUN_KEY_EOT,
- "SUN LENGTH MMS_ERROR", SUN_KEY_LENGTH,
+ "SUN LENGTH ERROR", SUN_KEY_LENGTH,
"SUN BOT", SUN_KEY_BOT,
"SUN WRONG MEDIA", SUN_KEY_WRONGMEDIA,
diff --git a/usr/src/lib/mms/mms/common/mmsp_yacc.y b/usr/src/lib/mms/mms/common/mmsp_yacc.y
index 1eae93cba9..f7ada148af 100644
--- a/usr/src/lib/mms/mms/common/mmsp_yacc.y
+++ b/usr/src/lib/mms/mms/common/mmsp_yacc.y
@@ -380,7 +380,7 @@ mms_sym_t mms_sym_tab[] = {
"text", TEXT,
"unacceptable", UNACCEPTABLE,
"arguments", ARGUMENTS,
- "error", MMS_ERROR,
+ "error", ERROR,
"accepted", ACCEPTED,
"attrlist", ATTRLIST,
"reqid", REQID,
@@ -893,7 +893,7 @@ uchar_t *mms_token_flags = mms_tokflags;
%token MMS_WELCOME SERVERNAME MMS_UNWELCOME XMPX_CANCEL
%token ID CANCELLED CANCELED SUCCESS INTERMEDIATE LOCTEXT RESPONSE
%token TEXT UNACCEPTABLE ACTION ADD CHANGE
-%token ARGUMENTS MMS_ERROR ACCEPTED ATTRLIST ACCEPT REQID CANCEL RESPOND
+%token ARGUMENTS ERROR ACCEPTED ATTRLIST ACCEPT REQID CANCEL RESPOND
%token CPSET CPUNSET CPATTRIBUTE CPREPORT CPREPORTMODE CPTYPE
%token CPRESET CPEXIT CPSTART PARTIAL FULL XMPM_PRIVATE
%token ALL FROMSLOT TOSLOT CPSCAN CPSHOW DEALLOCATE EJECT CARTID CART
@@ -3475,7 +3475,7 @@ severity_clause
}
;
-severity: EMERGENCY | ALERT | CRITICAL | MMS_ERROR | WARNING | NOTICE
+severity: EMERGENCY | ALERT | CRITICAL | ERROR | WARNING | NOTICE
| INFORMATION | DEBUG | DEVELOPER
| STRING
{
@@ -5857,7 +5857,7 @@ response_cmd
yyerror("cancelled is incompatible "
"with text");
}
- } else if (MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ } else if (MMS_PAR_CHK_FLAG(ERROR)) {
if (MMS_PAR_CHK_FLAG(TEXT)) {
yyerror("error is incompatible "
"with text");
@@ -5894,7 +5894,7 @@ response_arg
MMS_PAR_CHK_FLAG(SUCCESS) ||
MMS_PAR_CHK_FLAG(INTERMEDIATE) ||
MMS_PAR_CHK_FLAG(CANCELLED) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror("unacceptable is incompatible with "
"accepted, intermediate,"
"success, cancelled and error");
@@ -5909,7 +5909,7 @@ response_arg
MMS_PAR_CHK_FLAG(SUCCESS) ||
MMS_PAR_CHK_FLAG(INTERMEDIATE) ||
MMS_PAR_CHK_FLAG(CANCELLED) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror("accepted is incompatible with "
"unacceptable, intermediate,"
"success, cancelled and error");
@@ -5924,7 +5924,7 @@ response_arg
MMS_PAR_CHK_FLAG(ACCEPTED) ||
MMS_PAR_CHK_FLAG(INTERMEDIATE) ||
MMS_PAR_CHK_FLAG(CANCELLED) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror("success is incompatible with "
"unacceptable, intermediate,"
"accepted, cancelled and error");
@@ -5939,7 +5939,7 @@ response_arg
MMS_PAR_CHK_FLAG(ACCEPTED) ||
MMS_PAR_CHK_FLAG(SUCCESS) ||
MMS_PAR_CHK_FLAG(CANCELLED) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror("intermediate is incompatible with "
"unacceptable, success, "
"accepted, cancelled and error");
@@ -5955,7 +5955,7 @@ response_arg
MMS_PAR_CHK_FLAG(INTERMEDIATE) ||
MMS_PAR_CHK_FLAG(ACCEPTED) ||
MMS_PAR_CHK_FLAG(SUCCESS) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror("cancelled is incompatible with "
"unacceptable, intermediate,"
"accepted, cancelled and error");
@@ -5971,7 +5971,7 @@ response_arg
MMS_PAR_CHK_FLAG(SUCCESS) ||
MMS_PAR_CHK_FLAG(INTERMEDIATE) ||
MMS_PAR_CHK_FLAG(CANCELLED) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror
("unacceptable is incompatible "
"with "
@@ -5987,7 +5987,7 @@ response_arg
MMS_PAR_CHK_FLAG(SUCCESS) ||
MMS_PAR_CHK_FLAG(INTERMEDIATE) ||
MMS_PAR_CHK_FLAG(CANCELLED) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror
("accepted is incompatible with "
"unacceptable, intermediate,"
@@ -6002,7 +6002,7 @@ response_arg
MMS_PAR_CHK_FLAG(INTERMEDIATE) ||
MMS_PAR_CHK_FLAG(ACCEPTED) ||
MMS_PAR_CHK_FLAG(CANCELLED) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror
("success is incompatible with "
"unacceptable, intermediate,"
@@ -6018,7 +6018,7 @@ response_arg
MMS_PAR_CHK_FLAG(SUCCESS) ||
MMS_PAR_CHK_FLAG(ACCEPTED) ||
MMS_PAR_CHK_FLAG(CANCELLED) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror
("intermediate is incompatible "
"with unacceptable, success,"
@@ -6034,7 +6034,7 @@ response_arg
MMS_PAR_CHK_FLAG(ACCEPTED) ||
MMS_PAR_CHK_FLAG(INTERMEDIATE) ||
MMS_PAR_CHK_FLAG(SUCCESS) ||
- MMS_PAR_CHK_FLAG(MMS_ERROR)) {
+ MMS_PAR_CHK_FLAG(ERROR)) {
yyerror("cancelled is incompatible "
"with "
"unacceptable, intermediate,"
@@ -6053,14 +6053,14 @@ response_arg
YYERROR;
}
}
- | MMS_ERROR '[' err_class_spec
+ | ERROR '[' err_class_spec
{
/* Looking for an error code */
mms_pwka->par_wka_flags |= MMS_PW_ERROR_CODE;
}
err_code_spec ']'
{
- MMS_PAR_CHK_DUP(MMS_ERROR);
+ MMS_PAR_CHK_DUP(ERROR);
if (MMS_PAR_CHK_FLAG(UNACCEPTABLE) ||
MMS_PAR_CHK_FLAG(ACCEPTED) ||
MMS_PAR_CHK_FLAG(INTERMEDIATE) ||