TASK SET FULL Definition(s) in FC-TAPE and SAM-2
Bob.Snively at Ebay.Sun.COM
Wed Mar 17 08:40:28 PST 1999
* From the T10 Reflector (t10 at symbios.com), posted by:
* Bob Snively <Bob.Snively at Ebay.Sun.COM>
Realistically, after placing my answers in the section below, I believe
that tagged queueing must be supported by FC-TAPE compliant initiators,
since only such initiators will do anything intelligent with
QUEUE FULL (TASK SET FULL). Typically, their action is to retry
infrequently and in addition to retry whenever a task is completed from
that logical unit.
Then the "cleaner" TASK SET FULL behavior can replace the present
proper SCSI behavior of "vendor specific" or "OVERLAPPED COMMANDS ATTEMPTED."
See my notes below.
> FC-TAPE currently states in clause 9.2 for TASK SET FULL:
> - TASK SET FULL (if Tagged Queuing is used or ULP resources are
> SAM-2r10 states in clause 5.2:
> TASK SET FULL. This status shall be implemented if the logical unit
> supports the creation
> of tagged tasks (see 4.9). This status shall be returned when the
> logical unit receives a
> command and does not have enough resources to enter the associated task
> in the task set.
> SAM-2r10 states in clause 4.8:
> A Task Set is composed of zero or more Untagged Tasks or a combination
> of zero or more
> Tagged Tasks and zero or more Untagged Tasks.
> So it seems to me TASK SET FULL should be implemented regardless.
> Another issue: what is the proper SCSI Status to return if:
> a) the lun does not support tagged tasks, is processing a command
> received from one Initiator (has no reservation active), has enough
> resources to receive another command and enter it into the Task Set,
> and receives another command from a different Initiator.
> My preference would be a BUSY.
The answer here is VENDOR SPECIFIC. BUSY is correct if there are no
resources and the device does not know how to juggle two tasks. In
an FC-AL device, this will be very unlikely, since juggling two or more
exchanges is normal. As a result, the proper behavior is probably
to accept and execute the new command in its turn. That is very
bad behavior by a tape applications, which is why we have made
reservations a requirement in tape drives.
> b) the lun does not support tagged tasks, is processing a command
> received from one Initiator (has no reservation active), does not have
> enough resources to receive another command and enter it into the
> Task Set, and receives another command from a different Initiator.
> I would expect a TASK SET FULL.
There is a CHECK CONDITION ASC/ASCQ assigned for this behavior:
ASC/ASCQ 48/00 OVERLAPPED COMMANDS ATTEMPTED
The check condition is provided by either command and the other is
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at symbios.com
More information about the T10