PLEASE EVALUATE proposal for "Persistent Reserve".

Sheldon Kolansky sk at cringle.westford.ccur.com
Thu Jan 26 05:22:57 PST 1995


I have evaluated Bill's proposal for 'Persistent Reserve' and find
that it is well thought out and covers almost all of the gotchas we ran
into while doing dual-port both on IPI and SCSI.

Dual-port operation is made difficult by the fact that the two systems
on the two different ports may not be 'talkin' to one another.  When
this communication breaks down as during a failure, the systems must
not trip over each other.  

  The fact that the drive can not be reset by any old willy-nilly act 
  of the failed system (like a bus reset which is normally
  done on boot), and that a concerted effort is required to actually 
  reset the drive is critical to the operation of the system that has 
  remained functional.

  The mechanism for the standby system to actually take over the drive during
  a fail-over is reasonable, direct, and does not have a window available
  for the failed system to screw things up.

  During boot, the system which does not have the reservation can tell
  that there is a drive available.  IPI did not allow this if the alternate
  port was disabled.  It would be nice to have the Inquiry command work even
  if it doesn't have the reservation, so that the system as it boots can
  tell what kind of drive it is.

The Persistent Reservation commands must be a 'top of the queue' type
command or else the fail-over may be unduly delayed.

The current implemetation of dual-port does have some limitations
which this proposal will correct.  First of all, the current version
will only handle two ports.  Second, a resrved drive can have commands 
like request sense, prevent/allow media removal, and release from another
initiator, who shouldn't have that kind of control.  Third, its near impossible
to tell what kind of drive is out there during boot if it is reserved to the 
alternate port.

My recomendations for changes to Bill's proposal are:

1. Allow only get_pr, put_pr, and inquiry commands and ABORT TASK SET OTHER
INITIATOR to work on a drive whose other port is reserved.

2. The inquiry data provide information to determine that this is a
dual ported drive.


Sheldon Kolansky





More information about the T10 mailing list