diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/cmd/mms/dm/common/dm_uscsi.c | 8 | ||||
-rw-r--r-- | usr/src/cmd/mms/mm/common/mm.c | 9 | ||||
-rw-r--r-- | usr/src/cmd/mms/mm/common/mm_dmp_sql.c | 2 | ||||
-rw-r--r-- | usr/src/cmd/mms/mm/common/mm_notify.c | 10 | ||||
-rw-r--r-- | usr/src/lib/mms/dm/libdefault/common/dm_default.c | 10 | ||||
-rw-r--r-- | usr/src/lib/mms/mms/common/mms_scsi.c | 8 | ||||
-rw-r--r-- | usr/src/lib/mms/mms/common/mmsp_yacc.y | 32 |
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(¬ify_wka->wka_local_lock); - pthread_mutex_unlock(¬ify_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(¬ify_data-> - mm_wka_mutex); next_notify_wka = mms_list_next(¬ify_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(¬ify_wka->wka_local_lock); - pthread_mutex_unlock(¬ify_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(¬ify_data->mm_wka_mutex); next_notify_wka = mms_list_next(¬ify_data->mm_wka_list, notify_wka); pthread_mutex_unlock(¬ify_wka->wka_local_lock); @@ -1660,7 +1653,6 @@ notify_send(notify_cmd_t *event) notify_wka = next_notify_wka) { pthread_mutex_lock(¬ify_wka->wka_local_lock); - pthread_mutex_unlock(¬ify_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(¬ify_data->mm_wka_mutex); next_notify_wka = mms_list_next(¬ify_data->mm_wka_list, notify_wka); pthread_mutex_unlock(¬ify_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) || |