QUEUE FULL discussion, continued.
Stephen.Byan at quantum.com
Fri Oct 29 11:34:40 PDT 1999
* From the T10 Reflector (t10 at t10.org), posted by:
* Stephen Byan <Stephen.Byan at quantum.com>
Bob Snively [mailto:Bob.Snively at EBay.Sun.COM] wrote:
>The real problem is that BUSY status is often retried by a host adapter
>at a level that does not permit any logic to be applied to the recovery
>algorithm. QUEUE FULL is often sent back to a higher level retry
>algorithm that allows more intelligent scheduling of the retry algorithm
>and is capable of associating the "fullness" with other activities that
>are going on. This separation of functions between host adapters and
>drivers does not make the aliasing simple. If the logical unit asks for
>behavior it wants with the proper status, that is a much better solution.
>It either wants "blind" retry or "scheduled" retry.
It seems to me that the current wording allows returning QUEUE FULL, even if
the initiator doesn't have any queued commands at the device. I think that's
the right thing to do. The higher level device driver in the initiator
certainly knows if it has outstanding I/O to the device. If it does have
outstanding I/O, then it can wait for a completion a la Bob's mechanism #1,
otherwise it can retry after a timed interval (possibly zero) a la Bob's
I don't understand the need for the change in the specification; it seems
easy enough to handle the slightly perverse case of "QUEUE FULL with no
outstanding I/O" in the higher level device driver in the initiator. Why
does the spec need to prevent this case? Is it just to remove the need to
code duplicate timed-retry routines, one in the lower-level software (CAM)
and one in the higher-level software (device driver)?
What have I missed?
Steve Byan <stephen.byan at quantum.com>
Quantum Corporation <http://www.quantum.com>
333 South Street
Shrewsbury, MA 01545
voice: (508) 770-3414
fax: (508) 770-2604
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
More information about the T10