Dave,

I agree.  It appears that the PRIn (REad Full Status) is not behaving correctly.

Kevin D. Butt
SCSI & Fibre Channel Architect, Tape Firmware
MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
Tel: 520-799-2869 / 520-799-5280
Fax: 520-799-2723 (T/L:321)
Email address: kdbutt@us.ibm.com
http://www-03.ibm.com/servers/storage/



"David Peterson" <dpeterso@Brocade.COM>
Sent by: owner-t10@t10.org

02/26/2008 11:42 AM

To
<t10@t10.org>
cc
Subject
Persistent Reserve In: READ FULL STATUS response





From a trace I see the following:
 
PR In (Read Reservations)
-          PRgeneration = 00 00 00 00h
-          Additional Length = 00 00 00 00h
Good Status
 
* Given this response data there is no reservation held
 
PR In (Read Full Status)
-          no data returned
Good Status
 
* SPC-4 5.6.6.4 states:
An application client may send a PERSISTENT RESERVE IN command with READ FULL STATUS service action to receive all information about registrations and the persistent reservation, if any.
 
In response to a PERSISTENT RESERVE IN command with READ FULL STATUS service action the device server shall report the current PRgeneration value (see 6.13.2) and, for every I_T nexus that is currently registered, the
following information:
a) The registered reservation key;
b) Whether the I_T nexus is a persistent reservation holder;
c) If the I_T nexus is a persistent reservation holder, the scope and type of the persistent reservation;
d) The relative target port identifier identifying the target port of the I_T nexus; and
e) A TransportID identifying the initiator port of the I_T nexus.
 
My understanding is that although no reservation is held, the PRgeneration value (00 00 00 00h in this case) shall be returned and the Additional Length field shall be set to zero.
 
Appears this particular target implementation is not following the standard per Service Action=Read Full Status in that it simply returns no data if no reservation is held.
 
Comments?
 
…Dave