RESERVATION CONFLICT AND ACA ACTIVE

GFRAZIER at ausvm6.vnet.ibm.com GFRAZIER at ausvm6.vnet.ibm.com
Mon Aug 15 14:06:19 PDT 1994


In order to avoid lockups and consequential Target Reset operations in
SCSI-3, SAM should make it clear that RESERVATION CONFLICT has priority
above other status codes. Consider the following situation:

1. Initiator A has a target reserved and is processing commands normally.
   One of the commands is Mode Select or some other command which creates
   a UNIT ATTENTION condition for other initiators.
2. Initiator B issues TUR (or any other command except REQUEST SENSE or
   INQUIRY).
3. SCSI-3 is a bit vague about what the target must do:
  a) The target can return a RESERVATION CONFLICT status
               - or -
  b) The target can return a CHECK CONDITION  status. It would then be
     required to establish an ACA condition with initiator B.

Behavior b) will eventually result in a Target Reset if Initiator B
(for any number of reasons) fails to clear the ACA. This is because after
the target established an ACA condition with initiator B, it was required
to return ACA ACTIVE status to initiator A. If B does not clear the ACA,
initiator A, which originally had the target reserved, is locked out.
Its only recovery is Target Reset.

It would have been better if the target used behavior a) and returned a
RESERVATION CONFLICT status. This would have immediately informed Initiator
B that it could not use the target. It would not have created an ACA
condition, and Initiator A would not have been affected.

An easy way to take care of this is in SAM, section 4.6.5, Unit Attention
Condition. The second to last paragraph of this section now reads:

"If an initiator issues a command other than INQUIRY or REQUEST SENSE
while a UNIT ATTENTION condition exists for that initiator (prior to
generating the ACA condition for the unit attention condition), the
LUN shall not perform the command and shall report CHECK CONDITION status
unless a higher priority status as defined by the LUN is also pending (e.g.
BUSY or RESERVATION CONFLICT.)"

This ALMOST makes it clear that RESERVATION CONFLICT (or BUSY) takes
precedence over CHECK CONDITION, but it would be even more clear if the
words "as defined by the LUN" were removed and the last phrase went:

...unless a either a RESERVATION CONFLICT, BUSY, OR ACA ACTIVE status
exist. If one of these higher priority status exists, RESERVATION
CONFLICT shall be reported first, followed by ACA ACTIVE and BUSY.

Can we make this clear in SAM?

                                   Giles Frazier
                                   IBM Austin
                                   gfrazier at ausvm6.vnet.ibm.com




More information about the T10 mailing list