Persistent Reserve Out - 5Fh

The library will perform service actions relative to persistent reservations as requested. This includes creating and clearing reservations.
An I_T nexus performing Persistent Reserve Out service actions is identified by a reservation key.
This command is only supported if the library control path is provided by a tape drive.
Note: IO blades connected to drives configured with a control path may report certain library ready conditions differently than drives without a control path configured.

This command is used in conjunction with PERSISTENT RESERVE IN to manage persistent reservations. It can be used to request exclusive access to the device. The PERSISTENT RESERVE IN and PERSISTENT RESERVE OUT commands should not be used with the RESERVE ELEMENT and RELEASE ELEMENT commands.

The PERSISTENT RESERVE OUT CDB format is shown in the following table.
Table 1: PERSISTENT RESERVE OUT CDB format
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
Op Code (5Fh) |
|||||||
1 |
Logical Unit Number |
Service Action |
||||||
2 |
Scope |
Type |
||||||
3 : 6 |
Reserved |
|||||||
7 |
Parameter List Length (18h) |
|||||||
8 |
||||||||
9 |
Control |
Field | Description |
---|---|
Service Action |
This field specifies what reservation action to take as follows:
|
Scope |
Only logical unit scope is supported, and this field must be a 0h. |
Type |
This field specifies the type of reservation as follows:
|
Parameter List Length |
This field returns 18h (24) to indicate the length of the PERSISTENT RESERVE OUT parameter list, which is shown in the following table. |
Table 2: PERSISTENT RESERVE OUT Parameter List
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 : 7 |
Reservation Key |
|||||||
8 : 15 |
Service Action Reservation Key |
|||||||
16 : 19 |
Scope-Specific Address |
|||||||
20 |
Reserved |
SPEC-1_PT |
ALL_TG_PT |
Rsvd |
APTPL |
|||
21 |
Reserved |
|||||||
22 : 23 |
Obsolete |
|||||||
24 : n |
|
Field | Description |
---|---|
Reservation Key |
This is an 8-byte reservation key that identifies the initiator. The value must match the registered reservation key for the I_T nexus except for:
If the Reservation Key does not match with the one registered in the device server for the I_T nexus, the device server returns Reservation Conflict. |
Service Action Reservation Key |
This field only applies to the following service actions as follows:
For the Register and Register and Ignore Existing Key service actions:
For the Preempt and Preempt and Abort service actions, this field contains:
For the Register and Move service action, this field contains:
|
Scope-Specific Address |
Element reservations are not supported and this field must be 0000h. |
SPEC_I_PT |
This bit is valid for the Register and Register and Ignore Existing Key service actions. Set to 0 to ignore the additional parameter data and apply the registration to the I_T nexus that sent the command. Set to 1 to have the additional parameter data include a list of transport IDs and apply the registration to the I_T nexus for every initiator port specified in the transport list |
ALL_TG_PT |
This bit is not supported and is ignored. |
Activate Persist Through Power Loss (APTPL) |
This bit is only valid for the Register, Register and Ignore Existing Key and Register and Move service actions. If set to 1, the logical unit preserves any persistent reservation and all registrations if power is lost and later returned. If the EEPROM (non-volatile memory) is unable to store data anymore, a CHECK CONDITION will be returned to reject the request. If a library media changer device control path is configured via a DA blade, persistent reservations are not supported across power cycles, so this field must be set to 0. |
Table 3: Additional Parameter Data
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
24 : 27 |
Transport Parameter Data length (n - 27) |
|||||||
28 : |
First Transport ID |
|||||||
: |
||||||||
: n |
Last Transport ID |
|||||||
Field | Description |
---|---|
Transport Parameter Data Length |
Specifies the number of bytes of Transport IDs to follow. |
Transport IDs |
See Section Transport IDs below. |
Table 4: Parameter Data for the Register and Move Service Action
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 : 7 |
Reservation Key |
|||||||
8 : 15 |
Service Action Reservation Key |
|||||||
16 |
Reserved |
|||||||
17 |
Reserved |
Unreg |
APTPL |
|||||
18 |
Relative Target Port Identifier |
|||||||
19 |
||||||||
20 : 23 |
Additional Descriptor Length (18h) |
|||||||
24 : n |
Transport ID |
|||||||
Field | Description |
---|---|
Reservation Key |
This is an 8-byte reservation key that identifies the initiator. The value must match the registered reservation key for the I_T nexus except for:
If the Reservation Key does not match with the one registered in the device server for the I_T nexus, the device server returns Reservation Conflict. |
Service Action Registration Key |
Specifies the reservation key to be registered on the specified I_T nexus. |
Unreg |
Set to 1 to indicate that the I-T nexus on which the command was received be unregistered. |
APTPL |
Set to 1 to indicate that the logical unit preserve any persistent reservation and all registrations if power is lost and later returned. If the EEPROM (non-volatile memory) is unable to store data anymore, a CHECK CONDITION will be returned to reject the request |
Relative Target Port Identifier | Relative target port identification descriptor (Table 11 |
Transport ID | See tables below. |
Transport IDs
Table 5: Fibre Channel Transport IDs
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
Format Code (00b) |
Reserved |
Protocol Identifier (0h) |
|||||
1 : 7 |
Reserved |
|||||||
8 : 15 |
World Wide Port Name (WWPN) |
|||||||
16 : 23 |
Reserved |
|||||||
Field | Description |
---|---|
World Wide Port Name (WWPN) | Unique identifier for Fibre Channel port. |
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
Format Code (00b) |
Reserved |
Protocol Identifier (6h) |
|||||
1 : 3 |
Reserved |
|||||||
4 : 11 |
SAS Address |
|||||||
12 : 23 |
Reserved |
|||||||
Field | Description |
---|---|
SAS Address | Port address on SAS device. |