|
uchar sts_scsi2 :1; /* SCSI-2 modifier bit */
uchar sts_is :1; /* intermediate status sent */
uchar sts_busy :1; /* device busy or reserved */
uchar sts_cm :1; /* condition met */
ucha sts_chk :1; /* check condition */
|
sts_chk indicates that a contingent allegiance
condition has occurred.
sts_cm is returned whenever the requested operation
is satisfied
sts_busy indicates that the target is busy. This
status is returned whenever a target is unable to accept a command from
an otherwise acceptable initiator (that is, no reservation conflicts). The
recommended initiator recovery action is to issue the command again later.
sts_is is returned for every successfully completed
command in a series of linked commands (except the last command), unless
the command is terminated with a check condition status, reservation conflict,
or command terminated status. Note that host bus adapter drivers may not
support linked commands (see scsi_ifsetcap(9F)).
If sts_is and sts_busy are both set,
then a reservation conflict has occurred.
sts_scsi2 is the SCSI-2 modifier bit. If sts_scsi2 and sts_chk are both set, this indicates a command terminated status. If sts_scsi2 and sts_busy are both set, this indicates
that the command queue in the target is full.
For accessing the status as a byte, the following values are appropriate:
-
STATUS_GOOD
- This status indicates that
the target has successfully completed the command.
-
STATUS_CHECK
- This status indicates that a contingent allegiance
condition has occurred.
-
STATUS_MET
- This status is returned when the requested operations
are satisfied.
-
STATUS_BUSY
- This status indicates that the target is busy.
-
STATUS_INTERMEDIATE
- This status is returned for every successfully
completed command in a series of linked commands.
-
STATUS_SCSI2
- This is the SCSI-2 modifier
bit.
-
STATUS_INTERMEDIATE_MET
- This status is a combination of STATUS_MET and STATUS_INTERMEDIATE.
-
STATUS_RESERVATION_CONFLICT
- This status is a combination of STATUS_INTERMEDIATE and STATUS_BUSY, and it is returned whenever an initiator attempts
to access a logical unit or an extent within a logical unit is reserved.
-
STATUS_TERMINATED
- This status is a combination of STATUS_SCSI2 and STATUS_CHECK, and it is returned whenever the target terminates the current I/O process after receiving a terminate I/O
process message.
-
STATUS_QFULL
- This status is a combination of STATUS_SCSI2 and STATUS_BUSY,
and it is returned when the command queue in the target is full.
|