• No results found

Reservation Conflict Logging

In document Installation and User s Guide (Page 62-65)

When the device driver receives a reservation conflict during open or after the device has been opened it will log a reservation conflict in the AIX error log. Prior to logging the error the device driver will issue a Persistent Reserve In command to determine if a SCSI Persistent Reservation is active on the reserving host to get the reserving host initiator WWPN (World Wide Port Name) and reserve key. If successful, the device driver will log this information as follows:

Reserving host key xxxxxxxx WWPN xxxxxxxx

Where the first xxxxxxxx is the actual reserve key and the second xxxxxxxx is the reserving host initiator WWPN.

After initially logging the reserving host WWPN, subsequent reservation conflicts from the same reserving host WWPN will not be logged to prevent multiple entries in the error log until either the reserving host WWPN is different than the one initially logged or the device driver has reserved the device and then another reservation conflict occurs.

If the Persistent Reserve In command fails then the detail data will contain the following entry with the errno from the failing Persistent Reserve In command: Unable to obtain reserving host information, errno x

The possible errno values are:

v ENOMEM - Device driver cannot obtain memory to perform the command v EINVAL - Device has a Persistent Reservation but does not support the

Persistent Reserve In service action

v EBUSY - Device has failed the command with reservation conflict and has a SCSI-2 Reserve active

v EIO - Unknown I/O failure occurred

Error Logging

The device driver provides logging to the AIX system error log for various errors. The error log can be viewed for specific devices using the Error Log Analysis utility provided with the tape drive service aids. Refer to “Error Log Analysis” on page 50. The error log can also be viewed using the smitor theerrptcommand.

Error Log Templates

The error log templates the device driver uses follow the same format as the default AIX tape error log entries. Each error log entry is identified by an error label and contains detail data associated with the type of error. The following items describe the error labels and detail data for the templates used for logging tape device, media, and SCSI adapter related errors in the AIX system error log.

Error Labels

Errors are logged with an associated error label and error ID. The error label indicates the basic type of error:

v TAPE_ERR1 Tape media error v TAPE_ERR2

Tape hardware error v TAPE_ERR4

SCSI Adapter detected error v TAPE_ERR5

Unknown error v RECOVERED_ERROR

Temporary tape hardware or media error v SIM_MIM_RECORD_3590

3590 Service/Media Information Message (Log Page X'31') v TAPE_SIM_MIM_RECORD

Tape drive Service/Media Information Message (Log Page X'31') v DEV_DUMP RETRIEVED

v TAPE_DRIVE_CLEANING Tape drive needs cleaning v RESERVE_CONFLICT

Reservation conflict

Detail Data

Detail data is logged with the associated error that identifies the cause of the error. Detail data for the SIM_MIM_RECORD_3590 or TAPE_SIM_MIM_RECORD entries contain the raw data from Log Sense Page X'31'. Refer to the hardware reference manual for the format of this entry. All other error log entries use the following format for detail data:

Detail Data SENSE DATA

aabb xxxx ccdd eeee eeee eeee eeee eeee ffgg hhxx ssss ssss ssss ssss ssss ssss ssss ssss ssss ssss ....

Where:

aa Length of the command descriptor block (CDB)

bb SCSI target address

xx Unused or reserved

cc Start of CDB, cc is the operation code (byte 0)

dd Logical unit (byte 1) in the CDB

ee Bytes 2 through 12 in the CDB

ff Status validity field. If this field is 01, then a SCSI error was reported, and byteggindicates the type of error. If this field is 02, then an adapter error was reported, and bytehhindicates the type of error.

gg This byte indicates the type of SCSI error that occurred:

v 02 CHECK CONDITION - Device reported a check condition. v 08 BUSY STATUS - Target is busy.

v 18 RESERVATION CONFLICT - Target is reserved to another initiator. v 22 COMMAND TERMINATED - Device terminated the command. v 28 QUEUE FULL - Device command queue is full.

hh This byte indicates the type of adapter error that occurred. For parallel SCSI adapters, this is the general_card status code as defined in /usr/include/sys/scsi.h:

v 01 HOST IO BUS ERROR - Host I/O bus error during data transfer. v 02 SCSI BUS FAULT - SCSI bus protocol or hardware error.

v 04 COMMAND TIMEOUT - Command timed out before completion. v 08 NO DEVICE RESPONSE - Target did not respond to selection phase. v 10 ADAPTER HARDWARE FAILURE - Adapter indicated a hardware

failure.

v 20 ADAPTER SOFTWARE FAILURE - Adapter indicated a microcode failure.

v 40 FUSE OR TERMINAL PWR - Blown terminator fuse or bad termination.

For FCP or SAS adapters, this is the adapter_status code as defined in /usr/include/sys/scsi_buf.h:

01 HOST IO BUS ERROR - Host I/O bus error during data transfer. 02 TRANSPORT FAULT - Failure in the transport layer.

03 COMMAND TIMEOUT - Command timed out before completion. 04 NO DEVICE RESPONSE - Target did not respond to attempts to select it.

05 ADAPTER HARDWARE FAILURE - Adapter indicated a hardware failure.

06 ADAPTER SOFTWARE FAILURE - Adapter indicated a microcode failure.

07 WW NAME CHANGE - Adapter detected a new worldwide name for the device.

08 FUSE OR TERMINAL PWR - Blown terminator fuse or bad termination.

09 TRANSPORT RESET - Adapter detected an external SCSI bus reset. 0A TRANSPORT BUSY - The transport layer is busy.

0B TRANSPORT DEAD - The transport layer is currently inoperative.

ss If byteggindicates a check condition, thessbyte is the sense data from the device. Refer to the appropriate device reference manual for the specific format and content of these bytes.

In document Installation and User s Guide (Page 62-65)