Review of Persistent Reservation, Problem 2, duplicate reservations

Bob Snively Bob.Snively at Eng.Sun.COM
Tue Jul 8 14:09:30 PDT 1997


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

PROBLEM #2:

Non-duplicate reservations are simply managed by a target and it is easy
to enforce the rule that each must be cleared separately.  The text
of 7.13.1.2 makes this nice and clear:

	New persistent reservations that do not conflict with an 
	existing persistent reservation shall be executed normally. 
	The persistent reservation of a logical unit or the persistent 
	reservation of extents having the same type value shall be 
	permitted if no conflicting persistent reservations are held 
	by another initiator. When such overlapping persistent 
	reservations are released, each of the extent reservations 
	and the logical unit reservation shall be removed with a 
	separate Release service action.

However, two identical reservations from the host have a less clear
behavior.  In particular, when a release comes through, should the first,
the second, or both be cleared?  I expect that in many implementations, there
may not even be a simple mechanism to count and compare the number of
executions of identical Reserve service actions and Release service actions.

FIX?

At the earliest opportunity in the standardization process, I suggest we
make the following changes.

I would propose that the paragraph be expanded to allow a Release
service action to release all identical reservations.  With that addition,
it will not matter if individual copies of the reservations are kept or
not.  It will also not matter how many Release service actions occurred
relative to the number of Reserve service actions.  

	New persistent reservations that do not conflict with an 
	existing persistent reservation shall be executed normally. 
	The persistent reservation of a logical unit or the persistent 
	reservation of extents having the same type value shall be 
	permitted if no conflicting persistent reservations are held 
	by another initiator. When such overlapping persistent 
	reservations are released, each of the extent reservations 
	and the logical unit reservation shall be removed with a 
	separate Release service action.  Multiple identical reservations
	from the same initiator are all simultaneously released by
	a single Release service action that matches the reservations.

Note that there is one peculiar result of this.  If you have independent
control processes operating against the same LU from the same initiator,
then one of those control processes may be very much surprised to find that
its reservations have been removed by another control process.  That is
probably bad program design, rather than a SCSI architecture error.



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