definition of sbp2 Passed in dispute?

Peter Johansson PJohansson at
Thu Aug 2 09:44:49 PDT 2001

* From the T10 Reflector (t10 at, posted by:
* Peter Johansson <PJohansson at>
At 09:04 AM 8/2/2001, Pat LaVarre wrote:

>Anybody know what Passed means in sbp2?

There are no occurrences of the word "passed" in SBP-2, so I think it's 
impossible to say what "passed" means in SBP-2.

To judge from the rest of your message, Pat, you seem to be mixing ORB 
completion with CDB completion in ways that may be entirely idiosyncratic 
to you implementation----and the inviting others to agree with your 
definition. It doesn't seem likely to me ...

Maybe a closer look at the bits and fields you're considering would be helpful:

>(src == 0) || (src == 1)

The src field has nothing to do with successful completion of either the 
ORB or the CDB it carries. The src field provides feedback to the initiator 
about the state of the logical unit's fetch agent. When source is zero, the 
fetch agent is not idle and the doorbell is the only safe way to append to 
the ORB list. When src is one, the fetch agent is idle and a new ORB may be 
directly written to ORB_POINTER---or the doorbell may be used.

Of course, FAST_START in SBP-3 is rewriting some of these rules, but you 
might wait to consult it until after you have digested SBP-2.

>(resp == 0)

A resp value of REQUEST COMPLETE means ONLY that the logical unit received 
the ORB and its CDB OK, that the ORB was well-formed and that no Serial Bus 
errors were encountered in the transfer of data or status. It indicates 
absolutely nothing about the successful completion of the command. Command 
completion status is the province of the command set standard. For SCSI 
command sets, SBP-2 provides guidance in Annex B.

>(d == 0)

Whether or not the fetch agent is dead is orthogonal to the successful 
completion of both the ORB and its command. Status for an ORB and status 
for its CDB could both be OK---and be posted to the application, e.g., SCSI 
disk driver---even if the fetch agent has died.

>(len >= 1 Two QuadletsOfStatus)

If len is less than one, the entire status block should be ignored and no 
conclusions drawn. This is an implementation error in a device and not 
likely to be recoverable.

>(sbp_status == 0)

Don't forget that an sbp_status value of 11 also indicates successful 
completion---but of a dummy ORB.


Peter Johansson

Congruent Software, Inc.
98 Colorado Avenue
Berkeley, CA  94707

(510) 527-3926
(510) 527-3856 FAX

PJohansson at

* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list