Review of Persistent Reservation, Problem #1, conflict with tasks.

Bob Snively Bob.Snively at Eng.Sun.COM
Tue Jul 8 13:48:27 PDT 1997


* From the T10 (formerly SCSI) Reflector (t10 at symbios.com), posted by:
* Bob Snively <Bob.Snively at Eng.Sun.COM>
*

			Review of Persistent Reservation
			
			
PROBLEM #1:

While examining the persistent reservation text, I was struck by a 
one liner with profound implications:

    Commands from any initiator that conflict with a successfully 
    established persistent reservation shall be rejected with a 
    status of RESERVATION CONFLICT. The following commands shall 
    not conflict with a reservation established by the PERSISTENT 
    RESERVE OUT command: 
    
    	PERSISTENT RESERVE IN 
    	PERSISTENT RESERVE OUT (with an Service action of Preempt) 
    	PERSISTENT RESERVE OUT (with an Service action of Preempt and Clear)
    	PERSISTENT RESERVE OUT (with a Reserve service action that does not 	
    		conflict with established persistent reservations or tasks)
    		
The curious words here are "or tasks".

That implies what is not stated anywhere else that I can find, that 
a PERSISTENT RESERVE OUT can only be executed after all queued tasks that may
conflict with the reservation are completed.  The words apparently 
apply to all tasks, including those that are enabled by having been
started, and those that are blocked or queued even against an ordered
PERSISTENT RESERVE OUT.  Not only is the PERSISTENT RESERVE OUT potentially
delayed by a task, but it can even encounter a RESERVATION CONFLICT with 
the task.

Note 26 (below) seems to imply the behavior I would actually expect.  That is,
when a PERSISTENT RESERVE OUT conflicts with a task that has already been
passed to the device or is passed to the device before the PERSISTENT RESERVE
OUT command is enabled and begins execution, the time of effectiveness 
of a reserve service action is vendor specific.
Notes 27 and 29 provide similar warnings for Preempt and Preempt & Clear.

	NOTE 26 For the simplest predictable behavior, the Reserve 
	service action should be performed with the Ordered task attribute.

FIX?

At the earliest time allowed by the standards process:

I would suggest that we remove the words:

	"or tasks)" from the document.

I would suggest that we should make NOTES 26, 27, and 29 a little less 
cryptic and state:


	NOTE xx: The time of effectiveness of a reservation with respect
	to other tasks being managed by the device server is vendor 
	specific.  Successful completion of the PERSISTENT RESERVE OUT 
	command indicates that the new reservation is active.  An active
	reservation may apply to some or all tasks queued before the
	completion of the PERSISTENT RESERVE OUT command.  The reservation
	shall apply to all tasks received after completion of the 
	PERSISTENT RESERVE OUT command.
	




*
* 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 mailing list