Persistent Reserve In (5Eh)

Persistent Reserve In (5Eh) returns information about active registrations or an active reservation. You can use Persistent Reserve In to help resolve contention among multiple initiators and multiple-port targets within the system.

Service Action

00h = Returns Read Keys Data

01h = Returns Read Reservation Data

02h = Returns Report Capabilities Data

03h = Returns Read Full Status Data

04h through 1Fh are reserved.

Allocation Length

Indicates the space reserved for the returned parameter list. If the length is not sufficient to contain the entire parameter list, the parameter list will be incomplete. However, a partial list is not an error

Read Keys Data

The Read Keys Data is a list of all the currently registered reservation keys.

PR Generation

A 32-bit counter that increments each time a Persistent Reserve Out command requests a Register, a Register and Ignore, a Clear, a Preempt, or a Preempt and Abort operation. The counter allows the application client to determine if another application client has changed the configuration.

A Power-On-Reset sets the counter to zero.

Additional Length

The number of bytes in the reservation key list.

Reservation Key List

Contains the eight-byte reservation keys registered with the library through a Persistent Reserve Out command.

Read Reservation Data

The Read Reservation Data is a description of all currently registered reservation keys.

PR Generation

A 32-bit counter that increments each time a Persistent Reserve Out command requests a Register, a Register and Ignore, a Clear, a Preempt, or a Preempt and Abort operation. The counter allows the application client to determine if another application client has changed the configuration.

A Power-On-Reset sets the counter to zero.

Additional Length

The number of bytes in the reservation descriptor list.

0 = No reservation held

16 = Active reservation data

Reservation Descriptor

Each persistent reservation for a logical unit has one reservation descriptor that has the format shown below.

Reservation Key

The reservation key for the descriptor data that follows.

Scope

Indicates whether a persistent reservation applies to an entire logical unit or to an element. The only valid value is 0h.

0h = The persistent reservation applies to the logical unit

Type

3h = Exclusive access. The initiator holding the persistent reservation has exclusive access. Some commands (such as Move Medium) are only allowed for the persistent reservation holder.

6h = Exclusive Access, Registrants Only. Any currently registered initiator has exclusive access. Some commands (such as Move Medium) are only allowed for registered I_T nexuses.

8h = Exclusive Access, Registrants Only: This value indicates that any currently registered initiator has exclusive access. Some commands (such as Move Medium) are only allowed for registered I_T nexuses.

Report Capabilities Data

Length

The length in bytes of the parameter data.

CRH (Compatibility Reservation Handling)

1 = The library supports the exceptions to the SPC-2 RESERVE and RELEASE commands as described in SPC-3.

SIP_C (Specify Initiator Ports Capable)

1 = The library supports the SPEC_I_PT bit in the PERSISTENT RESERVE OUT command parameter data.

ATP_C (All Target Ports Capable)

0 = The library does not support the ALL_TG_PT bit in the Persistent Reserve Out (5Fh) command parameter data.

1 = The library supports the ALL_TG_PT bit in the PERSISTENT RESERVE OUT command parameter data.

PTPL_C (Persist Through Power Loss Capable)

0 = The library does not support the persist through power loss capability for persistent reservations and the APTPL bit in the Persistent Reserve Out (5Fh) command parameter data.

1 = The library supports the persist through power loss capability for persistent reservations and the APTPL bit in the in PERSISTENT RESERVE OUT command parameter data

TMV (Type Mask Valid)

0 = Ignore the persistent reservation type mask.

1 = The persistent reservation type mask field contains a bit map indicating which persistent reservation types the library supports.

PTPL_A (Persist Through Power Loss Activated)

0 = The library does not support the Persist Through Power Loss Activated bit.

1 = The persist through power loss capability is activated.

WR_EX_AR (Write Exclusive-All Registrants)

0 = The library does not support the Write Exclusive-All Registrants persistent reservation type.

EX_AC_RO (Exclusive Access Registrants Only)

1 = The library supports this persistent reservation type.

WR_EX_RO (Write Exclusive Registrants Only)

0 = The library does not support the Write Exclusive-Registrants Only persistent reservation type.

EX_AC (Exclusive Access)

1 = The library supports this persistent reservation type.

WR_EX (Write Exclusive)

0 = The library does not support the Write Exclusive persistent reservation type.

EX_AC_AR (Exclusive Access All Registrants)

0 = The library does not support the Exclusive Access-All Registrants persistent reservation type.

Read Full Status Data

The Read Full Status service action requests that the library return a list of all the current Reservation keys it has registered along with information about each initiator.

PR Generation

A 32-bit counter that increments each time a Persistent Reserve Out command requests a Register, a Register and Ignore, a Clear, a Preempt, or a Preempt and Abort operation. The counter allows the application client to determine if another application client has changed the configuration.

A Power-On-Reset sets the counter to zero.

Additional Length

Number of bytes in the list of the full status descriptors.

Full Status Descriptor

Reservation Key

The reservation key for the descriptor data that follows.

ALL_TG_PT (All Target Port Groups)

0 = single I_T nexus.

1 = all the I_T nexuses that are associated with both the initiator port specified by the Transport ID Data and every target port in the SCSI target device. Indicates that all the I_T nexuses are registered with the same reservation key and all the I_T nexuses are either reservation holders or not reservation holders as indicated by the R_HOLDER bit.

R_Holder

0 = All I_T nexuses described by this full status descriptor are registered but are not persistent reservation holders.

1 = All I_T nexuses described by this full status descriptor are registered and are persistent reservation holders.

Type

When the Reservation Holder Bit is 1, this field indicates the type of Persistent Reservation:

3h = Exclusive Access

6h = Exclusive Access - Registrants Only

8h = Exclusive Access - All Registrants

Relative Target Port Identifier

1 = Target Port 1

2 = Target Port 2

Transport ID Data

Protocol Identifier

0h = Fibre Channel protocol

06h = Serial Attached SCSI protocol

N_PORT_NAME (Fibre Channel)

This field specifies the N_Port_Name that is returned by the initiator in the PLOGI extended link service frame.

SAS Address

SAS Address of the initiator port